While show_homepage_promo_video would previously toggle the control to
play the welcome video on and off, the YouTube embed iframe would be
included in index.html unconditionally. This created the ugly
situation that YouTube would try to pull in a non-existent video, and
that a DoubleClick tracking beacon would be introduced to the start
page for no reason.
Instead, make sure show_homepage_promo_video toggles the entire modal
video section on and off, suppressing it altogether unless
show_homepage_promo_video is set.
To be able to more easily deal with same-origin issues, due to some course assets being loaded in an iframe, we're adding the ability to specify file extensions that should be excluded from URL canonicalization. The default value is simply 'html', which means we won't rewrite asset links that point to files ending in .html. Thus, they'll be loaded from the same origin as the parent page, and voila, no SOP issues.
This hardcoded the db_alias fetched from schema_editor and forces django
to try and migrate any second database you use, rather than routing to
the default database. In testing a build from scratch, these do not
appear needed.
Using using() prevents us from using multiple databases behind edxapp.
Additionally - add back a removed backwards migration from certificates
0003. I have no idea why this was dropped in the 1.8 upgrade.
Not an issue for our tests on firefox 28; however, once we upgrade to
Firefox 42 (or later), a new wait condition is needed here. Otherwise,
the content is not set because selenium's action chain is starting too
early.
Mako filesystem/app_directories loaders already wrap default django template loaders.
Mako loaders delegate the `load_template_source` method to the base loader that
they wrap, so there's no reason to explicitly include the two django loaders in the settings.
Our current sandbox provisioning uses a create_user management command,
which creates and enrolls a user into a course. However, for TE-1128, we
will need a way to enroll the same user to multiple courses (which are
dynamic at time of provisioning). Using the existing management
command is no longer feasible for that, so we are using one that accesses
the enrollment API, which is the new standard for new enrollment capabilities.