This required changing structural XModules to fully implement
student_view, rather than just returning the HTML of their children in a
get_html call.
[LMS-223]
[LMS-1170]
By transparently proxying between the XModuleDescriptor and the XModule,
and between their runtimes, we can make them act as a single class, so
that we can swap in an actual XBlock instead.
With tests, some settings changes
(all should default to not breaking anything for edx)
Added styling for shopping cart User Experience
- Styled shoppingcart list page
- Styled navigation shopping cart button
- Styled receipt page
- Styled course about page for shopping cart courses
Addressed HTML/SCSS issues
Remove offending body class and unnecessary sass changes
Addresses many review comments on stanford shopping cart
* framework for generating order instructions on receipt page
in shoppingcart.models
* move user_cart_has_item into shoppingcart.models
* move min_course_price_for_currency into course_modes.models
* remove auto activation on purchase
* 2-space indents in templates
* etc
revert indentation on navigation.html for ease of review
pep8 pylint
move logging/error handling from shoppingcart view to model
Addressing @dave changes
STUD-724
Test course for allowing custom formatting of due date strings.
STUD-724
Try making the name of the course match the folder name.
More cleanup.
More cleanup.
updates.
Features coming down the pipe will want to be able to:
* Refer to enrollments before they are actually activated (approval step).
* See what courses a user used to be enrolled in for when they re-enroll in
the same course, or a different run of that course.
* Have different "modes" of enrolling in a course, representing things like
honor certificate enrollment, auditing (no certs), etc.
This change adds an is_active flag and mode (with default being "honor").
The commit is only as large as it is because many parts of the codebase were
manipulating enrollments by adding and removing CourseEnrollment objects
directly. It was necessary to create classmethods on CourseEnrollment to
encapsulate this functionality and then port everything over to using them.
The migration to add columns has been tested on a prod replica, and seems to be
fine for running on a live system with single digit millions of rows of
enrollments.
This makes the LMS use an XBlock's student_view, rather than an
XModule's get_html to render for display. However, it does not yet use
wrap_child to handle instructor debug information or url rewriting.
[LMS-219]
Only render the chat widget if both the site has enabled it in the
`MITX_FEATURES` and if the course has enabled it. In addition, fail
gracefully with a log warning if the `JABBER_DOMAIN` is not set, and
do not try to render the widget. However, do go ahead and render the
rest of the courseware.
Embed a chat widget (much like the calculator widget) into the
courseware. To use, you must point it at an ejabberd box,
configured as `JABBER_DOMAIN` in the settings.
It would be better to redirect to the marketing site course about pages, but
the URLs for those are not easily computed, and we do not have time to set up
a full mapping in the LMS config.