Commit Graph

87 Commits

Author SHA1 Message Date
Usama Sadiq
0223feb17b refactor: ran pyupgrade on openedx/core/djangoapps (#26955)
ran pyupgrade on openedx/core/djangoapps/{schedules, self_paced, service_status}
2021-04-01 15:00:49 +05:00
Michael Terry
570a869bd3 feat: update to edx-ace 1.0.0
The new version switches how you specify recipients, to use
lms_user_id instead of usernames.

AA-489
2021-03-12 10:25:54 -05:00
Kyle McCormick
9aefd6f986 style: django-not-configured is not a sensible lint-amnesty value (#26862)
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.

We should not be applying lint amnesty for such a violation.
2021-03-05 08:11:58 -05:00
Michael Terry
9570c1c72b feat: add 'external course updates' experiment flag
When this flag is enabled, users will be 50/50 bucketed into an
experiment where users get course highlights and nudges from an
external service (like sailthru or braze) rather than from
edx-platform via ACE.

AA-661
2021-03-02 14:51:45 -05:00
usamasadiq
e6d43ac69c Applied pylint amnesty 2021-02-08 12:45:57 +05:00
Matthew Piatetsky
101c9b6633 Remove uses of the active field on the schedule model in the code.
Removing the active field from the model itself and the database is broken out into a separate ticket (AA-574)
AA-488
2021-01-05 18:25:44 -05:00
Dillon Dumesnil
9e2eab506f AA-454 and AA-470: Update language and bug fix for highlights
Since Course Highlights aren't necessarily weekly (self-paced courses),
update the language to be more generic. And then includes a bug fix to
not send highlights to learners after they have unenrolled from a course.
2020-12-04 15:26:47 +00:00
Dillon Dumesnil
ef5832bc74 AA-454: Reenable CourseUpdateResolver for Instructor-paced Courses
When CourseNextSectionUpdate was created, it incorporated Personalized
Learner Schedules logic which didn't take into account release dates of
content and was only intended for self-paced courses that always have
all content released. This caused a bug where instructor-paced courses
could receive an update about content that had not been released yet.

This PR turns the CourseUpdateResolver back on for instructor-paced
courses so they can go back to receiving weekly highlights.
2020-12-03 17:07:26 +00:00
Dillon Dumesnil
11f1347669 AA-422: Ensure learners are not receiving updates after course end 2020-11-10 14:07:31 -05:00
Dillon Dumesnil
6b16fcd9b3 AA-393: Update Next Section Logic
Inside content_highlights.py, we had code to calculate due dates
for when there isn't graded content, but we could only reach that
code path if the user had an assignment with a due date at the
target date. Now we will check for all learners who could be in
range of having an update and let the code in content_highlights.py
decide if a highlight should be sent
2020-10-30 15:02:03 -04:00
Dillon Dumesnil
96e83de1e5 AA-393: Add additional logging to CourseNextSectionUpdate
We have some helpful exception messages, but then we swallow them
and only log a generic message. Now we will log both!
2020-10-28 17:12:33 -04:00
Tim McCormack
f29e418264 Revert "Revert "ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)" (#25025)" (#25055)
This reverts commit 986a448d9e.
2020-09-28 13:53:57 +00:00
Ahtisham Shahid
986a448d9e Revert "ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)" (#25025)
This reverts commit ba9ee4e151.

Fixed Style lint issue
2020-09-21 13:48:00 +05:00
Tim McCormack
ba9ee4e151 ARCHBOM-1494: Refer to custom attributes, not metrics, especially with edx-django-utils (#25010)
This uses the new names introduced in edx-django-utils
3.8.0 (edx/edx-django-utils#59), which we're already using, as
well as updating a few other locations where we incorrectly refer
to New Relic custom metrics instead of custom attributes.

Includes a couple of unrelated lint fixes in a file I modified.
2020-09-18 13:33:50 +00:00
Nicholas D'Alfonso
e9e85d05c1 AA-282 course emails date sync
- send course emails to users based on whichever date is later,
  sedule start date or course start date.  This addresses the
  scenario when a user enrolls in a self paced course before it
  has actually started.
2020-08-17 16:01:21 -04:00
Jeff LaJoie
5e6814c442 Enables weekly highlights job for relative dates 2020-06-03 12:07:56 -04:00
Michael Terry
3f2b2da22b Don't assume due dates on sections
The content highlights code assumed due dates existed on all
sections. But we recently broke that assumption. So now we
recalculate the spread of sections across the expected duration
ourselves rather than rely on due dates.
2020-05-14 09:26:49 -04:00
Jeff LaJoie
75f60af418 Adds more logging to course updates task 2020-05-13 08:37:44 -04:00
Jeff LaJoie
c180070a9a Fixes serialization of course key for celery in course updates command 2020-05-12 09:02:49 -04:00
Jeff LaJoie
c87269956a Changes type of objects that get serialized, removes a problematic log statement 2020-05-08 08:39:03 -04:00
Jeff LaJoie
4f32e5728b Merge pull request #23600 from edx/jlajoie/AA-67
AA-67: New resolver logic for weekly highlights
2020-05-06 09:31:39 -04:00
Simon Chen
262574b815 Move all the upgrade display logic into courseware.utils 2020-05-05 17:54:22 -04:00
Jeff LaJoie
542905bee4 AA-67: Adds in new resolver logic for Weekly Highlights to learners 2020-05-05 10:32:18 -04:00
Dillon Dumesnil
fe91d63a0b Show relevant dates in course dates sidebar
This includes (at least) upcoming assignments, FBE access
expiration, and course end date.

AA-4
2020-02-18 08:42:15 -05:00
Dillon Dumesnil
00fe1495b4 Revert commits for AA-4 2020-02-10 12:10:59 -05:00
Dillon Dumesnil
23486a560d Show relevant dates in course dates sidebar
This includes (at least) upcoming assignments, FBE access
expiration, and course end date.

AA-4
2020-02-06 16:01:46 -05:00
edx-pipeline-bot
fb416ba4e7 Merge pull request #22979 from edx/private_to_public_561fb8c
Mergeback PR from private to public.
2020-01-30 07:03:38 -05:00
Awais Jibran
561fb8cafb Merge pull request #168 from edx/aj/fix-schedules-app
Fix schedules app
2020-01-30 16:10:50 +05:00
Zainab Amir
b172a2a68c Enable course updates for instructor led courses (#22422)
Currently there is no option to schedule bulk emails to be sent
out at a specific time for instructor led courses. It would reduce
the effort required to create an engaging course if instructor led
course teams had the option to turn on weekly highlight emails as
well.

PROD-575
2020-01-28 15:38:19 +05:00
hunytalk
73aae081c3 Remove null, blank from start field in Schedules 2020-01-22 18:10:33 +05:00
Awais Jibran
0470e432ad Fix schedules app 2020-01-21 21:04:15 +05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Taranjeet Singh
00653433a5 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.

Fixes flaky tests:

* The resolvers handle users in "bins", which are groups that depend on the user ID.
* The test user ID varies depending on the test order.
* This change ensures that the bin requested matches the user for the test.
2019-12-09 22:49:57 +10:30
hunytalk
227ae8a51a Add reference to new field in schedule model 2019-12-04 19:05:55 +05:00
Matthew Piatetsky
8d8626ca1f address comments 2019-11-01 13:41:01 -04:00
Jeremy Bowman
9c92bd96ed Fix assertions failing under Python 3 BOM-668 (#21978) 2019-10-10 15:22:07 -04:00
Ned Batchelder
efba6e45e8 Finally import courseware properly everywhere to get rid of a warning 2019-09-26 09:40:15 -04:00
Jolyon Bloomfield
b66e367520 INCR-199 migrate openedx/core/djangoapps/schedules 2019-04-05 00:43:41 -04:00
Matthew Piatetsky
f294b1a374 fix unicode strings in openedx/ part 1 2019-02-13 10:47:35 -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
Robert Raposa
99c9eb7343 Migrate to edx-django-utils monitoring.
ARCH-220
2018-08-17 15:39:04 -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
Tyler Hallada
80cb98affd Use try-except-else instead of continue 2018-03-14 12:51:01 -04:00
Tyler Hallada
93c2b85dbc Add missing continue in loop exception 2018-03-14 12:19:45 -04:00
Nimisha Asthagiri
2d6c9d459d Merge pull request #17039 from edx/pacing/upsell-date-translation
Schedules: Fix date translation of upsell messaging
2018-01-03 14:16:33 -05:00
Alex Dusenbery
792d0db5da Convert weekly highlights exception to warning. 2018-01-03 13:11:46 -05:00
Nimisha Asthagiri
a1047794e8 Schedules: Fix date translation of upsell messaging 2018-01-03 11:53:09 -05:00
Nimisha Asthagiri
7ef443f7ce Update usages to ace_common 2017-12-05 11:38:16 -05:00
Tyler Hallada
3425502a23 Schedules: change logging from DEBUG to INFO/EXCEPTION 2017-12-03 22:34:33 -05:00