diff --git a/cms/envs/common.py b/cms/envs/common.py index be398f6cb20cec47ef755768b23e52bf7e84c680..8a7422255a81cd90f48ddfec736746b730cfa00b 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -146,10 +146,10 @@ MANAGERS = ADMINS # Static content STATIC_URL = '/static/' ADMIN_MEDIA_PREFIX = '/static/admin/' -STATIC_ROOT = ENV_ROOT / "staticfiles" +STATIC_ROOT = ENV_ROOT / "staticfiles" STATICFILES_DIRS = [ - ('js/vendor', COMMON_ROOT / "static" / "js" / "vendor"), + COMMON_ROOT / "static", PROJECT_ROOT / "static", # This is how you would use the textbook images locally @@ -219,7 +219,15 @@ for idx, filetype, fragment in sorted(fragments): PIPELINE_JS = { 'main': { - 'source_filenames': [pth.replace(PROJECT_ROOT / 'static/', '') for pth in glob2.glob(PROJECT_ROOT / 'static/coffee/src/**/*.coffee')], + 'source_filenames': [ + pth.replace(COMMON_ROOT / 'static/', '') + for pth + in glob2.glob(COMMON_ROOT / 'static/coffee/src/**/*.coffee') + ] + [ + pth.replace(PROJECT_ROOT / 'static/', '') + for pth + in glob2.glob(PROJECT_ROOT / 'static/coffee/src/**/*.coffee') + ], 'output_filename': 'js/application.js', }, 'module-js': { diff --git a/cms/static/coffee/src/main.coffee b/cms/static/coffee/src/main.coffee index 30d459ecc3d84b46df855806a395dbc0e07490bf..57b6d1ae93c2e240f286db8cca0b6d48bdae64f1 100644 --- a/cms/static/coffee/src/main.coffee +++ b/cms/static/coffee/src/main.coffee @@ -1,8 +1,4 @@ -jQuery.postWithPrefix = (url, data, callback, type) -> - $.post("#{CMS.prefix}#{url}", data, callback, type) - -jQuery.getWithPrefix = (url, data, callback, type) -> - $.get("#{CMS.prefix}#{url}", data, callback, type) +AjaxPrefix.addAjaxPrefix(jQuery, -> CMS.prefix) @CMS = Models: {} diff --git a/lms/static/coffee/spec/logger_spec.coffee b/common/static/coffee/spec/logger_spec.coffee similarity index 100% rename from lms/static/coffee/spec/logger_spec.coffee rename to common/static/coffee/spec/logger_spec.coffee diff --git a/common/static/coffee/src/.gitignore b/common/static/coffee/src/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a6c7c2852d068ff1fef480ac369459598a62f82e --- /dev/null +++ b/common/static/coffee/src/.gitignore @@ -0,0 +1 @@ +*.js diff --git a/common/static/coffee/src/ajax_prefix.coffee b/common/static/coffee/src/ajax_prefix.coffee new file mode 100644 index 0000000000000000000000000000000000000000..59db5becca1168ac4c315fcc2a93d847c36b537b --- /dev/null +++ b/common/static/coffee/src/ajax_prefix.coffee @@ -0,0 +1,16 @@ +@AjaxPrefix = + addAjaxPrefix: (jQuery, prefix) -> + jQuery.postWithPrefix = (url, data, callback, type) -> + $.post("#{prefix()}#{url}", data, callback, type) + + jQuery.getWithPrefix = (url, data, callback, type) -> + $.get("#{prefix()}#{url}", data, callback, type) + + jQuery.ajaxWithPrefix = (url, settings) -> + if settings? + $.ajax("#{prefix()}#{url}", settings) + else + settings = url + settings.url = "#{prefix()}#{settings.url}" + $.ajax settings + diff --git a/lms/static/coffee/src/logger.coffee b/common/static/coffee/src/logger.coffee similarity index 88% rename from lms/static/coffee/src/logger.coffee rename to common/static/coffee/src/logger.coffee index 414dc4f187b8a7116eb3a8bde7ed902658961019..58395ba8316ad977419fccc3c9d6840d91b18877 100644 --- a/lms/static/coffee/src/logger.coffee +++ b/common/static/coffee/src/logger.coffee @@ -7,8 +7,8 @@ class @Logger @bind: -> window.onunload = -> - $.ajax - url: "#{Courseware.prefix}/event" + $.ajaxWithPrefix + url: "/event" data: event_type: 'page_close' event: '' diff --git a/lms/envs/common.py b/lms/envs/common.py index 24751675b1724edc520d43e6167322587f156ab8..a49a7b814f97350d92a83432413271b279a91204 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -184,7 +184,7 @@ ADMIN_MEDIA_PREFIX = '/static/admin/' STATIC_ROOT = ENV_ROOT / "staticfiles" STATICFILES_DIRS = [ - ('js/vendor', COMMON_ROOT / "static" / "js" / "vendor"), + COMMON_ROOT / "static", PROJECT_ROOT / "static", ASKBOT_ROOT / "askbot" / "skins", @@ -365,6 +365,10 @@ PIPELINE_JS = { 'application': { # Application will contain all paths not in courseware_only_js 'source_filenames': [ + pth.replace(COMMON_ROOT / 'static/', '') + for pth + in glob2.glob(COMMON_ROOT / 'static/coffee/src/**/*.coffee') + ] + [ pth.replace(PROJECT_ROOT / 'static/', '') for pth in glob2.glob(PROJECT_ROOT / 'static/coffee/src/**/*.coffee')\ if pth not in courseware_only_js diff --git a/lms/envs/dev.py b/lms/envs/dev.py index 487ccfb3e7f93942dedef3cfdb27d4b38aa3c071..1a2659cb1f3a4d0a6a8497d7f6de2a2456d3ea13 100644 --- a/lms/envs/dev.py +++ b/lms/envs/dev.py @@ -56,8 +56,8 @@ CACHES = { SECRET_KEY = '85920908f28904ed733fe576320db18cabd7b6cd' ################################ DEBUG TOOLBAR ################################# -#INSTALLED_APPS += ('debug_toolbar',) -#MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) +INSTALLED_APPS += ('debug_toolbar',) +MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( diff --git a/lms/static/coffee/src/main.coffee b/lms/static/coffee/src/main.coffee index 06a12e5b6ff7263e067f6e0ce1f98993b7f74497..d74035cd2a8624bce665123e2d4c0f0d5506473b 100644 --- a/lms/static/coffee/src/main.coffee +++ b/lms/static/coffee/src/main.coffee @@ -1,8 +1,4 @@ -jQuery.postWithPrefix = (url, data, callback, type) -> - $.post("#{Courseware.prefix}#{url}", data, callback, type) - -jQuery.getWithPrefix = (url, data, callback, type) -> - $.get("#{Courseware.prefix}#{url}", data, callback, type) +AjaxPrefix.addAjaxPrefix(jQuery, -> Courseware.prefix) $ -> $.ajaxSetup