Commit Graph

5528 Commits

Author SHA1 Message Date
Awais Qureshi
875a06d2fc Merge pull request #26674 from edx/BOM-2373-course_action_state
Run Pyupgrade on course-action-state.
2021-03-05 17:24:13 +05:00
Sarina Canelake
e15e372233 Merge pull request #26772 from edx/sarina/DEPR-142-TNL-7522
Remove the "role of users being enrolled" field from Instructor Dashboard
2021-03-03 08:57:16 -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
Usman Khalid
dd96a2aa72 Convert Course, Section and Sequence XModules to XBlocks. (#25965) 2021-03-02 10:29:33 -05:00
Dillon Dumesnil
aeb71250e9 AA-513: Ensure user id exists before trying to send event
request.user.id could be None which ends up raising an error in
the analytics package we use.
2021-03-02 09:22:12 -05:00
Awais Qureshi
378b5eb4b5 Merge branch 'master' into BOM-2374-entitlements 2021-03-02 16:35:30 +05:00
Awais Qureshi
29180d4b66 Merge pull request #26670 from edx/BOM-2375-student-pa2
Run Pyupgrade on student folder.
2021-03-02 16:30:36 +05:00
Matthew Piatetsky
fe8e959559 Merge pull request #26765 from edx/AA-304
Check course outline and course date toggles in addition to courseware toggle for streak
2021-03-01 11:02:50 -05:00
Matthew Piatetsky
69ec9a2599 Check course home toggle in addition to courseware toggle 2021-03-01 09:40:02 -05:00
Jawayria
e5b06ef959 Merge pull request #26503 from edx/jawayria/bom-2351-4
BOM-2351: Removed unused imports from common/djangoapps/{track, util}
2021-03-01 17:01:19 +05:00
sarina
173bbce500 feat!: Remove the "role of users being enrolled" field from Instructor Dashboard
See DEPR-142
2021-02-28 18:40:16 -05:00
Carla Duarte
02c46fc016 Merge pull request #26764 from edx/ddumesnil/segment-logout-aa-513
AA-513: Updating to segment instead of backend event
2021-02-26 14:03:40 -05:00
Dillon Dumesnil
7f796e1be1 AA-513: Updating to segment instead of backend event 2021-02-26 13:36:21 -05:00
Dillon Dumesnil
5e2bbd88d5 Merge pull request #26763 from edx/ddumesnil/segment-logout-aa-513
AA-513: Add segment event for logout
2021-02-26 08:04:35 -08:00
Dillon Dumesnil
82d3367923 AA-513: Add segment event for logout 2021-02-26 10:19:13 -05:00
Jawayria
9e768785d0 Merge pull request #26499 from edx/jawayria/bom-2351-2
BOM-2351: Removed unused imports from common/djangoapps/student
2021-02-26 16:59:21 +05:00
Jawayria
9c8ef996a3 Merge pull request #26484 from edx/jawayria/bom-2351-1
BOM-2351: Removed unused imports from common/djangoapps/{course_modes…
2021-02-26 16:17:32 +05:00
Adeel Ehsan
a4ced1669f Merge pull request #26684 from edx/aehsan/van-390/added_account_activation_event_added
account activation event added
2021-02-24 10:36:32 +05:00
Michael Terry
23f34031d1 Merge pull request #26663 from edx/mikix/enable-schedules
feat: turn on schedule creation by default
2021-02-23 14:34:11 -05:00
Michael Terry
74887aa216 feat: turn on schedule creation by default
This commit removes several waffle toggles that have been enabled
on edx.org for years. It's time to remove the rollout gating for
these features and enable them by default.

This doesn't directly change any behavior. But it does create new
database objects by default now and allows for enabling other
schedule based features more easily.

Specifically, the following toggles were affected.

schedules.create_schedules_for_course
- Waffle flag removed as always-enabled
- We now always create a schedule when an enrollment is created

schedules.send_updates_for_course
- Waffle flag removed as always-enabled
- Course update emails are sent as long as the ScheduleConfig
  allows it.
- This is not a change in default behavior, because ScheduleConfig
  is off by default.

dynamic_pacing.studio_course_update
- Waffle switch removed as always-enabled
- Course teams can now always edit course updates directly in Studio

ScheduleConfig.create_schedules
ScheduleConfig.hold_back_ratio
- Model fields for rolling out the schedules feature
- Schedules are now always created
- This commit only removes references to these fields, they still
  exist in the database. A future commit will remove them entirely

This commit also adds a new has_highlights field to CourseOverview.
This is used to cache whether a course has highlights, used to
decide which course update email behavior they get. Previously every
enrollment had to dig into the modulestore to determine that.
2021-02-23 12:34:02 -05:00
adeelehsan
bf8949fcbe account activation event added
VAN-390
2021-02-23 22:00:00 +05:00
Robert Raposa
40611bb915 ARCHBOM-1667: fix: remove authentication from auth exchange (#26618)
* Remove authentication, including SessionAuthentication, to fix CSRF
  exemption by dropping CSRF check of SessionAuthentication.
* Several changes to make it more clear that only POST is supported and
  clean up GET method testing.
* Removed the temporary 403 error logging that wasn't working.
* Removed test_single_access_token which was written for DOP, but
  doesn't work with DOT. See
  [MA-2122](https://openedx.atlassian.net/browse/MA-2122) for a ticket
  about implementing this for DOT, although it doesn't seem to be a
  priority. NOTE: A comment was added to the ticket explaining that this
  test was removed.
* GET now returns default error for methods not allowed.

ARCHBOM-1667
2021-02-23 10:57:11 -05:00
Jawayria
e4cff58bed BOM-2351: Removed unused imports from common/djangoapps/{track, util} 2021-02-23 19:31:57 +05:00
Jawayria
ebc6044c10 BOM-2028: Removed unused imports from common/djangoapps/{course_modes, edxmako, entitlements} 2021-02-23 19:30:09 +05:00
Sarina Canelake
e3b0bffa50 Revert "Remove the "role of users being enrolled" field from Instructor Dashboard" 2021-02-23 09:03:31 -05:00
M. Zulqarnain
42fc6aef03 Upgrade django-ipware (#24827) 2021-02-23 18:14:17 +05:00
Adeel Ehsan
40ece9ea9b Merge pull request #26631 from edx/aehsan/van-319/added_authn_mfe_url_in_recover_account_command
authn mfe url added in recover account command
2021-02-23 17:51:39 +05:00
Awais Qureshi
4ab536e58d BOM-2373
Run Pyupgrade on course-action-state.
2021-02-23 16:46:07 +05:00
Jawayria
98edaf887a Merge pull request #26500 from edx/jawayria/bom-2351-3
BOM-2351: Removed unused imports from common/djangoapps/third_party_auth
2021-02-23 16:08:57 +05:00
Awais Qureshi
922c25f154 BOM-2374
Run Pyupgrade on entitlement.
2021-02-23 16:08:26 +05:00
Awais Qureshi
57684f9938 Merge pull request #26656 from edx/BOM-2375-static-replace
Run Pyupgrade on static replace folder.
2021-02-23 15:12:31 +05:00
Awais Qureshi
8bef10208a BOM-2375
Run Pyupgrade on student folder.
2021-02-23 14:55:02 +05:00
Awais Qureshi
b97c2b61a9 Merge pull request #26655 from edx/BOM-2375-status
Run Pyupgrade on status folder.
2021-02-23 13:57:59 +05:00
adeelehsan
809c57f089 authn mfe url added in recover account command
VAN-319
2021-02-23 11:32:02 +05:00
sarina
406176b9e6 feat!: Remove the "role of users being enrolled" field from Instructor Dashboard
See DEPR-142
2021-02-22 16:18:12 -05:00
Awais Qureshi
4db9cdfc66 BOM-2375
Run Pyupgrade on static replace folder.
2021-02-22 21:55:26 +05:00
Awais Qureshi
4f6a6b5776 BOM-2375
Run Pyupgrade on static replace folder.
2021-02-22 21:41:54 +05:00
Awais Qureshi
6c22e84faa BOM-2375
Run Pyupgrade on status folder.
2021-02-22 21:26:56 +05:00
Matthew Piatetsky
3b45a72b8e Create backend for three day streak celebration
This feature uses the first_day_of_streak, last_day_of_streak and last_streak_celebration fields to determine whether the user should see a celebration.
AA-304
2021-02-22 10:50:33 -05:00
usamasadiq
96f0915b0f Fixed new pylint warnings.
use generator in any/all()
disable not-callable warnings
disable no-member warnings
Suppressed smaller pylint warnings
Pin edx-proctoring==3.5.0
2021-02-22 16:36:53 +05:00
Jawayria
310da0d6a7 BOM-2351: Removed unused imports from common/djangoapps/third_party_auth 2021-02-22 14:05:40 +05:00
Jawayria
caebb910f0 BOM-2351: Removed unused imports from common/djangoapps/student 2021-02-22 13:59:32 +05:00
Aarif
a1406cddf2 replaced unittest assertions pytest assertions (#26528) 2021-02-18 18:09:45 +05:00
Aarif
802ae6343b replaced unittest assertions pytest assertions (#26527) 2021-02-18 18:08:52 +05:00
Aarif
7dfd6edd23 replaced unittest assertions pytest assertions (#26524) 2021-02-18 18:08:23 +05:00
Zainab Amir
c260f72c2e VAN-311: Add multiple enterprise support for Authn MFE (#26526) 2021-02-18 17:24:44 +05:00
Aarif
e6a0d35009 replaced unittest assertions pytest assertions (#26240) 2021-02-12 12:31:37 +05:00
Manjinder Singh
cd60646926 fix: Switch anonymous user ID hash from md5 to shake (#26198)
Now that we always return an existing value from the DB rather than trusting that ID generation is deterministic and constant over time, we're free to change the generation algorithm.

Our long term goal is to switch to random IDs, but we need to first investigate the uses of save=False. In the meantime, this is a good opportunity to move away from MD5, which has a number of cryptographic weaknesses. None of the known vulnerabilities are considered exploitable in this location, given the limited ability to control the input to the hash, but we should generally be moving away from it everywhere for consistency.

This change should not be breaking even for save=False callers, since those calls are extremely rare (1 in 100,000) and should only occur after a save=True call, at which point they'll use the stored value. Even if this were not true, for a save=False/True pair of calls to result in a mismatch in output, the first of the calls would have to occur around the time of the deploy of this code.

Co-authored-by: Tim McCormack <tmccormack@edx.org>
 
Co-authored-by: Tim McCormack <tmccormack@edx.org>
2021-02-10 07:37:27 -05:00
Tim McCormack
80a4437f33 fix: Always save generated anonymous user ID in DB; ignore save=False (#26399)
This deprecates `save=False` for several functions and removes all known
usages of the parameter but does not actually remove the parameter.
Instead, it will emit a deprecation warning if the parameter is used.
We can remove the parameter as soon as we feel sure nothing is using it.

Now that we have refactored `anonymous_id_for_user` to always prefer
retrieving an existing ID from the database -- and observed that only a
small fraction of calls pass save=False -- we can stop respecting
save=False. This opens the door for future improvements, such as generating
random IDs or switching to the external user ID system.

Metrics: I observe that 1 in 16 requests for new, non-request-cached
anon user IDs are made with save=False. But 71% of all calls are served
from the request cache, and 99.7% of the misses are served from the DB.
save=False only appear to come from intermittent spikes as reports are
generated and are low in absolute number.

Also document usage/risk/rotation of secret in anonymous user ID
generation as indicated by `docs/decisions/0008-secret-key-usage.rst`
ADR on `SECRET_KEY` usage.

ref: ARCHBOM-1683
2021-02-08 19:16:05 +00:00
Tim McCormack
ac7a9f405b refactor: Remove old version of anonymous user ID generation (#26398)
In commit 2723e0e2/PR #26162, we created a new version of the
`anonymous_id_for_user` method that would make it safe to rotate the
`SECRET_KEY` setting (without changing existing anonymous IDs). This
included a toggle to allow fast reversion to the old code if needed.

This commit removes the old code and the toggle as we are satisfied with
the correctness and performance of the new code.

ref: ARCHBOM-1645
2021-02-05 15:35:16 +00:00