This commit adds the requisite settings and startup features to
enable integration of themes into the edX platform. It does not
yet provide hooks in any of the templates, but it does cause the
main `lms/static/sass/application.scss` file to `@import` a theme's
base Sass. Template hooks will come down the road.
CHANGELOG
---------
Define a new `MITX_FEATURE`, `USE_CUSTOM_THEME`, that when enabled,
can be used in templates to determine whether or not custom theme
templates should be used instead of the defaults.
Also define a new setting, `THEME_NAME`, which will be used to
locate theme-specific files. Establish the convention that themes
will be stored outside of the `REPO_ROOT`, inside the `ENV_ROOT`,
in a directory named `themes/`. `themes/<THEME_NAME>` will store
the files for a particular theme.
Provide a function, `enable_theme`, that modifies the template and
static asset load paths appropriately to include the theme's files.
Move the main LMS Sass file to a Mako template that conditionally
`@import`s the theme's base Sass file when a theme is enabled.
Add logic to the assets Rakefile to properly preprocess any Sass/
Mako templates before compiling them.
The MKTG_URLS dictionary is overwritten completely in aws.py anyway, and we
shouldn't be trying to keep both the production config and LMS code in sync
with changes to the marketing site.
This functionality requires the Zendesk URL, user, and API key to be specified
in django.conf.settings. Also, add a flag to MITX_FEATURES (enabled by default)
to control the endpoint and the front-end feature (yet to be added).
This allows us to a) compile the coffeescript and sass from xmodules
using the new out-of-band method and b) reload xmodule static content
whenever it changes, which should make devs much happier.
When a user logs in this will drop a new cookie 'edxloggedin' that will
match the value and expire date of the django session cookie.
When a user logs out the cookie will be removed