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>
* Make currency a property of the Order (for validation purposes)
* Remove null=True from Char fields
* Use InheritanceManager for subclassing OrderItem
* Change VerifiedCertificate to better handle some new use cases
* Cleaned out old migrations
* Tests!
Version numbers have very different ranges for different browsers so not having a dictionary of those.
Fixed a whitespace issue
Fixed pylint/pep8 violations
Don't need django_url
Spacing issues
Changed how commenting works
Forgot one
Used wrong name
Changed around importing
Remove django_url
Fixed function orderingn
Made logic nicer for getting a new browser
Modifying tests to run in opera
Needed to increase time to account for slow sauce loading
Now safari LMS works
Forgot an assert statement
Skipping a few tests for opera
LMS was arbitrarily chosen for now.
Fixed up pylint and pep8 errors
Fixed up pylint and pep8 errors
Changed naming to be better
Changed Sauce Info to obtaining a JSON string
Added tags for tests that will not work on Sauce
Changed build name
Tightened up logic
Conflicts:
common/djangoapps/terrain/browser.py
Added flag for session name
* Make currency a property of the Order (for validation purposes)
* Remove null=True from Char fields
* Use InheritanceManager for subclassing OrderItem
* Change VerifiedCertificate to better handle some new use cases
* Cleaned out old migrations
* Tests!