At LMS dashboard course listing the course cover has alt
attribute that have course name and then Cover Page it describe
image not the action which is to take user to course home page
TNL-1383
The overall behavior of the __init__ method has remained the same.
What's changed is how it determines whether a field is explicitly set.
Instead of using the slower performing editable_metadata_fields, it
calls _field_data.has directly to check for explicitly set fields.
Block users from enrolling in a course if the user
is blocked by country access rules.
1) Enrollment via the login/registration page.
2) Enrollment from the marketing iframe (via student.views.change_enrollment)
3) Enrollment using 100% redeem codes.
4) Enrollment via upgrade.
This does NOT cover enrollment through third party authentication,
which is sufficiently complex to deserve its own commit.
Since we began monkey-patching `django.utils.translation` [1], we no
longer need to check for empty strings before translating them.
Previously, the empty string would be translated into translation
metadata. Now, translating the empty string intuitively yields the empty
string.
[1] 86633df3db
Add history table for course access rule changes.
Provide test utility for simulating restricted access.
Provide `redirect_if_blocked` method for integration with other
parts of the system (will be used for blocking enrollment).
Add info-level logging explaining when and why users are blocked.
This change will also move us to bok-choy instead of lettuce for
these scenarios, and re-enable them. See TE-736.
Includes some refactoring of repeated event-checking code as well.
When mathjax is down discussion forum doesn't work
as we were using markdown.js with processor as
mathjax. Unavailability of mathjax raise error in
js which stops discussion to render. So I made
markdown independent of mathjax. Markdown now will
use mathjax when it is available otherwise ignore it.
TNL-1149
The previous version of this migration incorrectly handled
disabled configuration. When configuration is disabled,
the embargoed country field was the empty string; calling
str.split(",") produced a list with a single empty list entry,
which is not a valid country code.
Iframe unit in the studio have accesibility issue as there was no title for
Iframe provided as well as placeholder does not specify what changes to made
to add new iframe
TNL-1073