Commit Graph

170 Commits

Author SHA1 Message Date
Nimisha Asthagiri
6e214a85b0 Move common/djangoapps/enrollment to openedx/core/djangoapps/enrollments 2019-05-28 11:20:53 -04:00
Michael Roytman
5da94023e6 Merge pull request #20620 from edx/mroytman/bulk-email-python-api
introduce Python API for BulkEmail Djangoapp
2019-05-21 18:38:24 -04:00
Stu Young
da616921f0 INCR-257 Run python-modernize on lms/djangoapps/bulk_email/migrations and lms/djangoapps/bulk_email/tests (#20563)
* run python modernize

* run isort

* Fix quality
2019-05-21 11:34:42 -04:00
Michael Roytman
b33b8e8897 introduce Python API for BulkEmail Djangoapp 2019-05-21 09:22:08 -04:00
Michael Youngstrom
3221c2b91f Remove lms pytest shards 2019-02-12 11:03:46 -05:00
Awais Jibran
717712391f Fixing conflicts 2019-02-12 17:50:58 +05:00
Taranjeet Singh
3eb9058dd2 Adds optional "unsubscribe" link and api support to let users opt out of email updates.
Scheduled emails show "unsubscribe" link if waffle switch `schedules.course_update_show_unsubscribe` is enabled, and
settings.ACE_ENABLED_POLICIES respects `bulk_email_optout`.

API endpoint allows GET/POST requests, which:

* GET asks for confirmation of opt-out
* POST accepts "unsubscribe" or "cancel", where "unsubscribe" creates the
  Optout entry, and "cancel" does nothing.
2019-02-07 11:47:10 +10:30
Matthew Piatetsky
6e81c84d8b fix unicode strings in lms/ part 1 2019-02-05 15:15:02 -05:00
cclauss
8fca11b85c Use print() function in both Python 2 and Python 3 2019-01-13 17:16:37 +01:00
Awais Jibran
ac3c274d57 Skip sending email if an email address contains non-ascii char. 2018-09-27 22:45:15 +05:00
Jeremy Bowman
1a5bf35357 TE-2689 Remove useless pylint suppressions part 2 2018-08-14 17:39:02 -04:00
Jeremy Bowman
ca3316962d TE-2524 Stop using nose.plugins - LMS 1 2018-07-31 13:03:18 -04:00
Eric Fischer
247bb50ed2 s/django.core.urlresolvers/django.urls/g
Django 1.10 deprecation fix for Hackathon XIX
Addresses PLAT-1397
2018-06-05 13:59:09 -04:00
Stuart Young
1fd2167144 rebalance python unittests onto new shards 2018-05-03 11:16:05 -04:00
bmedx
65147386c0 PLAT-2028 - Create mailing list retirement API endpoint
- Removes "email-optin" UserOrgTags for the user
- Creates and uses a new "UserRetireMailingsSignal" signal
- Creates and uses a new "CanRetireUser" permission
- Creates and uses a new setting "RETIREMENT_SERVICE_WORKER_USERNAME"
- Creates a signal handler to globally opt-out the user from Sailthru
2018-04-05 15:52:26 -04:00
Awais Jibran
5eb176039c Do not show Currencies: usd in bulk email task history Sent To:
This is a bad course team experience that when they send email to Audit track learners, `send to` includes currency (usd) which is set default. This PR fixes the bug and will not include currency with `audit` or `honor` enrollment tracks.
EDUCATOR-2489
2018-03-09 21:06:50 +05:00
Jeremy Bowman
9682e00f4c PLAT-1943 Fix more naive datetime warnings 2018-02-05 17:58:35 -05:00
John Eskew
27edca3c5e Replace all clean_course_id form methods with common method. 2018-01-25 11:38:46 -05:00
Jeremy Bowman
669aa13ad6 PLAT-1873 to_deprecated_string() cleanup part 2 2018-01-08 17:26:55 -05:00
Jeremy Bowman
d3d6272d8f PLAT-1873 to_deprecated_string() cleanup part 1 2018-01-08 13:51:42 -05:00
Eric Fischer
3312939703 Revert "Merge pull request #16635 from edx/efischer/EDUCATOR-1773"
This reverts commit 3e9e97e6d8, reversing
changes made to 0d931107aa.
2017-12-04 11:55:09 -05:00
Eric Fischer
19c580e52f No unicode in "from" value on Bulk Emails
Until https://github.com/django-ses/django-ses/issues/137 is resolved, we need
to proactively search for and prevent unicode values in from_addr.

EDUCATOR-1773
2017-11-21 11:32:31 -05:00
Calen Pennington
cd4ebaf23c Only send one email even if there are multiple enrollments by the same user on the same day 2017-09-12 08:23:21 -04:00
Gabe Mulley
6a36eb0183 Use ACE to 'send' Recurring Nudge emails 2017-08-31 16:58:08 -04:00
cahrens
6f71706b17 Remove SlashSeparatedCourseKey from tests. 2017-08-07 14:49:30 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Adam Palay
1ad643acc5 allow sending emails to course modes even if they've expired (EDUCATOR-364) 2017-05-19 12:10:37 -04:00
Adam Palay
c478e796d2 fix for issue where emails to students in one track are sent to users in other tracks, too (EDUCATOR-217) 2017-05-15 08:48:11 -04:00
Nimisha Asthagiri
18433dab95 Refactor Instructor Tasks - in prep for Grade report work 2017-04-24 19:35:06 -04:00
Omar Al-Ithawi
3739cc4549 Make the course lang override platform lang 2017-04-05 16:48:53 +03:00
Omar Al-Ithawi
d29453204d Simplified the test 2017-04-05 16:48:53 +03:00
Omar Al-Ithawi
0a9a39e4b1 Translatable bulk_email from Address based on platform`s default language 2017-04-05 16:48:53 +03:00
Eric Fischer
4b794372cd Add registration tracks as valid bulk_email targets
Hackathon XV project
2017-01-12 15:05:49 -05:00
Sanford Student
54d34e834d update all references to instructor module 2016-10-12 11:35:02 -04:00
Matjaz Gregoric
344c72b3e2 Use non-ascii PLATFORM_NAME in tests.
It should help catch unicode encoding problems earlier.

This also updates python-saml dependency to a version that includes a
patch for unicode strings.
2016-09-23 15:38:23 +02:00
Douglas Hall
4ac746a20b Add the course root to the bulk email template context so that templates can customize the full course URL with a custom hostname. 2016-09-19 15:34:55 -04:00
Cliff Dyer
05bfd80f05 Merge pull request #12934 from open-craft/jill/fix-bulk-email-url-scheme
Use appropriate URL scheme for bulk emails
2016-08-09 15:53:14 -04:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Ned Batchelder
8571ceabeb Fix many wrong-assert-type errors 2016-08-03 12:44:41 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
Jillian Vogel
cf8e0e4464 Uses new settings.LMS_ROOT_URL as email base url
instead of constructing it from settings.HTTPS and settings.SITE_NAME
2016-08-02 04:05:23 +09:30
Jillian Vogel
f28cca00f3 Uses settings.HTTPS to determine appropriate URL scheme for bulk emails 2016-08-02 03:17:56 +09:30
Jillian Vogel
0390294d3c Uses http or https appropriately in bulk email urls
and adds system tests for affected methods.
2016-08-02 03:17:56 +09:30
Eric Fischer
faa7f544d2 Bulk Email Cohorts (#12602)
Adds cohorts as valid bulk email targets.
2016-06-06 16:32:59 -04:00
Eric Fischer
a9a3fabfe8 Bulk Email Multiselect (#12301)
TNL-4356

Allows multiple bulk email targets to be specified at once.

-The previous "All" option has been split into "Staff" and "Learners"
-The backend changes made here lay the groundwork for cohort emailing
-The data migration, 0005, is somewhat large and requires deploy attention
-Tests have been updated
-Numerous safe-commit-linter fixes are included
2016-05-26 14:22:04 -04:00
Adam
cf8e37b381 Merge pull request #12455 from edx/adam/fix-email-from-addr-length
refine from_addr length limits (TNL-4264)
2016-05-17 08:30:15 -04:00
Eric Fischer
0cf3e39c31 Replace bulk email settings with admin config models
Moves ENABLE_INSTRUCTOR_EMAIL and REQUIRE_COURSE_EMAIL_AUTH from settings files
to admin-accessible configuration models. This allows for the bulk email settings
to be modified without a new AMI deploy. See TNL-4504.

Also updates tests:
    -python tests mock out the new configurations in place of the old settings
    -lettuce test has been moved to bokchoy
        (note that there was some loss of coverage here - the lettuce tests had
        been doing some voodoo to allow for cross-process inspection of emails
        messages being "sent" by the server, from the client! In discussion with
        testeng, this seems outside the realm of a visual acceptance test. So,
        the bokchoy test simply confirm the successful queueing of the message,
        and leaves the validation of sending messages to the relevant unit tests.)
    -bok choy fixture has been added, to replace the settings in acceptance.py
    -lettuce and bok choy databases have been updated to reflect the backend changes

The new default is to have bulk_email disabled, we'll need to call this out in the
next OpenEdx release to ensure administrators enable this feature if needed.
2016-05-16 11:09:39 -04:00
Adam Palay
c9b0e12d39 use markupspace for escaping 2016-05-13 11:15:00 -04:00
Adam Palay
91ae60f5e9 refine from_addr length limits (TNL-4264) 2016-05-12 15:12:41 -04:00
Calen Pennington
853bfe7a36 Add a TestCase mixin for enabling caches in tests
By default, disable all caching in tests, to preserve test independence.
In order to enable caching, inherit from CacheSetupMixin, and specify
which cache configuration is needed.

[EV-32]
2016-05-04 14:51:30 -04:00