Commit Graph

2357 Commits

Author SHA1 Message Date
Justin Hynes
32685a7999 MICROBA-1025 | Update cert_whitelist.py management command
[MICROBA-1025]
- Update management command to use the same logic that the Instructor Dashboard uses
- Fix bug in management command where processing stopped when encountering a user that did not exist
- Add more logging
- Add and update tests where needed
2021-03-09 14:45:44 -05:00
Awais Qureshi
f0cac0c09d Merge pull request #26893 from edx/BOM-2375-student-1
BOM-2375-student-part1
2021-03-09 17:52:30 +05:00
Kyle McCormick
9b37e7d0fe refactor: centralize checks for canonical courseware experience & URL (#26815)
Centralize the logic for choosing between
MFE and Legacy-frontend courseware within
three new functions:
* courseware_mfe_is_active
* courseware_mfe_is_visible
* courseware_legacy_is_visible

This allows us to create another new function:
* get_courseware_url
which can be called anywhere in LMS/Studio
to get the canonical URL to courseware
content (whether it be MFE or Legacy).

In future commits we we begin using
get_courseware_url throughout the platform.

TNL-7796
2021-03-08 15:24:16 -05:00
Awais Qureshi
b907c3d289 BOM-2375-student-part1
pyupgrade in student app.
2021-03-08 23:16:11 +05:00
Awais Qureshi
a980145164 BOM-2375-student-part1
pyupgrade in student app.
2021-03-08 22:21:37 +05:00
Adeel Ehsan
5fcf88f31e Merge pull request #26869 from edx/aehsan/van-390/datetimestamp_added_for_account_activation_event
datetimestamp added for account activation event
2021-03-08 19:59:43 +05:00
Awais Qureshi
2dcaf9d5a6 BOM-2375-student-part1
pyupgrade in student app.
2021-03-08 18:29:25 +05:00
Zainab Amir
a39befb548 VAN-113: Add error code for registration workflow (#26821) 2021-03-08 18:09:26 +05:00
adeelehsan
4d24f4c005 datetimestamp added for account activation event
VAN-390
2021-03-08 11:29:58 +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
Justin Hynes
a3a05bc440 MICROBA-1038 | Don't check enrollment status when removing allowlist entries
[MICROBA-1038]
- Today, we check if a learner is actively enrolled in a course-run before we add or remove them from the Instructor Dashboard allow list. We ran into an issue where we couldn't remove an entry from the list because the learner is no longer actively enrolled in the course-run. Update instructor dashboard logic to only check enrollment status when _adding_ a learner to the allow list.
2021-03-04 13:44:45 -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
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
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
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
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
8bef10208a BOM-2375
Run Pyupgrade on student folder.
2021-02-23 14:55:02 +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
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
caebb910f0 BOM-2351: Removed unused imports from common/djangoapps/student 2021-02-22 13:59:32 +05:00
Aarif
802ae6343b replaced unittest assertions pytest assertions (#26527) 2021-02-18 18:08:52 +05:00
Zainab Amir
c260f72c2e VAN-311: Add multiple enterprise support for Authn MFE (#26526) 2021-02-18 17:24:44 +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
Bianca Severino
e5cc220d96 Merge pull request #26357 from edx/bseverino/proctored-exam-email
[MST-636] Add additional check for proctoring requirements
2021-02-04 09:09:12 -05:00
Waheed Ahmed
38187de0f9 Authn MFE: Toggle for microfrontend redirect.
VAN-308
2021-02-04 18:58:58 +05:00
Bianca Severino
3f5cbcfc6a Check for an existing proctored exam before sending proctoring requirements email 2021-02-03 15:54:52 -05:00
Kyle McCormick
3185dda123 fix: Rename send_activation_email task (step 3/3) (#26329)
The old name was
`student.send_activation_email`.

The new name is now
`common.djangoapps.student.tasks.send_activation_email`.

We no longer user the old task name,
so we can safely stop registering it with Celery
workers, without fear of dropping any lingering
tasks under the old name.
2021-02-03 11:10:01 -05:00
Kyle McCormick
1d2d59f8bd Merge pull request #26328 from edx/kdmccormick/send-activation-email-2
fix: rename send_activation_email task (step 2/3)
2021-02-03 09:09:31 -05:00
Jawayria
fbd60f1814 REsolved quality error 2021-02-03 17:01:52 +05:00
Jawayria
633b9f7060 resolved errors 2021-02-03 15:47:18 +05:00
Jawayria
45e5cbb599 Applied pylint-amnesty to student 2021-02-03 15:30:47 +05:00