* make `user_status` more intelligent
* remove some logic from the templates
* rename `parse_error_msg` to `parsed_error_msg`
* fix up and add more tests
LMS-1387
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
* Fix open redirect vulnerability
* Add Logging To AUDIT_LOG : Note I had to change existing tests
that mocked AUDIT_LOG with this
* Use external_auth.views.SHIBBOLETH_DOMAIN_PREFIX in student.views
* Add a bunch of documentation
* PEP8 / Pylint
* If a shib users type in their email on the regular login page,
redirects them to /shib-login/
* Modify student.views.accounts_login to handle redirects
generated by @login_required for courses that use shib for
access control.
Redirect those logins to /shib-login/?next=
Adds a new Email link to the instructor dashboard for frontend interface to send
email to course members. Adds a feature flag ENABLE_INSTRUCTOR_EMAIL to toggle this.
Creates a new djangoapp bulk_email that handles this action by getting the recipient
list and batching the emails to different celery tasks to do the actual sending.
Requires lynx package to convert HTML email to plaintext. Handles SMTP errors by
retrying or falling through to the next email. Adds the option to opt out of course
specific emails in the user dashboard with an Email Settings link for each course.
Uses severable configurable settings with defaults. DEFAULT_BULK_FROM_EMAIL
specifies the from address for email. EMAILS_PER_TASK specifies the number of emails
each celery task takes on. EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER,
EMAIL_HOST_PASSWORD, and EMAIL_USE_TLS for the SMTP email backend settings.
Co-authored-by: Akshay Jagadeesh <akjags@gmail.com>