Commit Graph

143 Commits

Author SHA1 Message Date
Thomas Tracy
986f52faab [feat] Add has_scheduled_content to outline API
The outline API that the learning MFE needs to know if a course has
upcomming content for a new alert.
2021-07-06 11:33:53 -04:00
Matthew Piatetsky
0fc4fb581f Merge pull request #28033 from edx/AA-874
[AA-874] feat: add user id parameter to progress page
2021-07-02 08:39:16 -04:00
Matthew Piatetsky
6922f75a52 feat: add user id parameter to progress page 2021-07-01 15:50:13 -04:00
Michael Terry
c62626227a fix: jump_to should redirect to first unit on invalid key
Previously, it would 404. While accurate, it's not a great user
experience. Users can be offered invalid jump_to paths in the normal
course of things, if course content disappears or they lose access
to it.

In both cases, they might be offered a resume URL in the courseware
that would be to a now-invalid location.

With this change, that invalid link will at least give them
*something* (the first unit in the course) rather than an error
page.

This also (unrelatedly) fixes an exception when the learning MFE
outline page tries to render a course that contains sequences
with no children.

AA-867
2021-06-28 15:43:12 -04:00
Carla Duarte
b08a9d61ef fix: make scores floats rather than ints in progress tab api 2021-06-23 11:34:19 -04:00
Michael Terry
c8a62bd4d2 feat: add learner_has_access field to progress tab data
In order to allow the learning MFE's progress tab to show a
different UX for FBE exceptions (where some exams can still be
completed by audit learners), this commit adds access information
to each exam.

AA-829
2021-06-22 09:10:12 -04:00
sofiayoon
3616910841 Merge pull request #27899 from edx/syoon/AA-797
feat: AA-797 switch course home flag to opt out
2021-06-21 09:37:48 -04:00
David Ormsbee
fe6448303d fix: Use learning_sequences to remove bad sequences from outline.
A common usage pattern is to make an exam that is restricted to a
particular enrollment track. Since there is no UI in Studio to do this
at the sequence/subsection level, course authors instead restrict every
unit in the sequence to that track (e.g. "verified"). The legacy
courseware experience could handle this, but the Course Blocks API does
not. It is likely that we'll want to permit toggling this at the
sequence level, but regardless of whether we do that going forward, we
still have to deal with this kind of content data in existing courses.

An entirely empty sequence is useless, and currently breaks the
Courseware MFE browsing experience. This commit introduces the first
part of that fix, invoking the new Learning Sequences API to remove
sequences that the user shouldn't be allowed to know about. The plan is
to switch over the entire course outline from the Course Blocks API to
the Learning Sequences API, and this is the first small step in that
direction.

This also creates CourseWaffleFlag learning_sequences.use_for_outlines
to control the gradual rollout of this feature. This will start as a
very limited rollout to address courses that show this specific bug
(TNL-8377).

New learning_sequences public API call: public_api_available
2021-06-17 11:13:47 -04:00
Sofia Yoon
e645d11bba feat: AA-797 switch course home flag to opt out by replacing it with a course home use legacy frontend flag 2021-06-16 10:04:49 -04:00
Julia Eskew
14ec30e018 feat: Make the new courseware MFE the default courseware experience.
- Remove the REDIRECT_TO_COURSEWARE_MICROFRONTEND waffle flag.
- Add a new COURSEWARE_USE_LEGACY_FRONTEND waffle flag that directs
all learners to the legacy courseware experience.
- Skip two failing a11y tests which fail due to the new default of
the courseware MFE.

TNL-8279
2021-06-10 12:21:24 -04:00
Sofia Yoon
87e3ce69b6 refactor: AA-796 remove outline and dates tabs flags 2021-06-08 15:44:19 -04:00
Albert (AJ) St. Aubin
eb346f1ab2 feature: Updated the text when a learner earns a cert on the Dashboard
[MICROBA-678]

This patch will update the text on the course dashboard when a learner
successfully earns a certificate and that certificate is available. It
also adds to the Outline API for the Outline in the Learning MFE so that
the same changes can be made there.
2021-06-08 14:07:06 -04:00
Carla Duarte
cecd37c45b feat: surface subsection block keys in progress api 2021-06-01 09:57:54 -04:00
Matthew Piatetsky
e6268470b8 feat: add stacked config model for disabling the frontend-app-learning progress page 2021-05-27 10:40:43 -04:00
Albert (AJ) St. Aubin
351228cee4 refactor: Updating cert availability messaging.
[MICROBA-678]

Added cert availability date to the API used to get certificate status
by the learning MFE to support updated messaging.

Updated the cert availability messaging in the Coruse Dashboard,
including a text color change.
2021-05-24 12:42:03 -04:00
Carla Duarte
d7a4948b8e feat: add total number of assignments to progress API (AA-816) 2021-05-18 17:18:25 -04:00
Carla Duarte
2f8572d540 fix: handle unenrolled users in course home APIs (AA-790) 2021-05-13 14:08:44 -04:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
Matthew Piatetsky
526982c548 Merge pull request #27505 from edx/AA-759
[AA-759] feat: Add flag for AA-759 streak celebration discount experiment
2021-05-10 14:43:40 -04:00
Matthew Piatetsky
9c5992521a feat: Add flag for AA-759 streak celebration discount experiment
AA-759
2021-05-10 13:11:07 -04:00
Carla Duarte
6a2adde87c Merge pull request #27477 from edx/ciduarte/AA-723
fix: include VerifiedModeSerializerMixin in Progress Tab API [AA-723]
2021-05-03 13:57:28 -04:00
Carla Duarte
b7081f4ecd fix: include VerifiedModeSerializerMixin in Progress Tab API [AA-723] 2021-05-03 12:50:31 -04:00
Michael Terry
12e9763446 Merge pull request #27487 from edx/mikix/fix-gated-content-check
fix: properly set contains_gated_content field on xblocks again
2021-05-03 11:50:40 -04:00
Michael Terry
6e52aafc8c fix: properly set contains_gated_content field on xblocks again
This has been broken for a couple months, preventing proper display
of verified-only assignments on the dates tab and elsewhere.

AA-780
2021-05-03 10:17:17 -04:00
Usama Sadiq
60f49d4048 refactor: pyupgrade second iteration (#27442) 2021-05-03 17:13:15 +05:00
Matthew Piatetsky
3fdb92f3f1 Merge pull request #27323 from edx/AA-719
[AA-721] Add necessary data for new progress page
2021-04-28 07:16:26 -04:00
Dillon Dumesnil
82414f5b5e Merge pull request #27401 from edx/ddumesnil/enable-dates-tab-aa-741
feat: AA-741: Enables the dates tab for all enrolled learners
2021-04-26 10:56:08 -07:00
Matthew Piatetsky
8ff937c341 feat: Add new data to course home and progress endpoints to support the progress page certificate status component
AA-719
2021-04-26 09:43:25 -04:00
Dillon Dumesnil
0a08852600 feat: AA-741: Enables the dates tab for all enrolled learners
Removes the relative dates flag check as it is no longer
necessary to show the dates tab
2021-04-22 15:22:26 -04:00
Usama Sadiq
ab41a7daee refactor: Apply lint-amnesty on pylint violations 2021-04-20 21:43:59 +05:00
Bianca Severino
83ceefc4c5 Merge pull request #27244 from edx/bseverino/proctoring-info-masquerade
[MST-738] Pass username into CourseHomeMetadataView
2021-04-09 10:44:04 -04:00
Carla Duarte
ae5733f176 feat: add letter grade to MFE Progress Tab API 2021-04-09 09:25:53 -04:00
Kyle McCormick
a69567b18b feat: default staff to courseware MFE if active (via jump_to)
The /jump_to/ LMS endpoint is used in a number of places
to direct users to courseware. It currently only redirects to
Legacy courseware URLs, which then conditionally may
redirect to the Learning MFE.

Two issues with this:
1. Performance Impact: In most cases, going to Legacy first
   is just an extra redirect.
2. Confusion for Privileged Users: Neither course nor global
   staff are auto-redirected from the Legacy experience to the
   MFE. Thus, these priviliged users confusingly never see the
   MFE by default; they must always manually click into it.

This commit makes it so that /jump_to/ directs
users to whatever the default courseware experience is
for them. For staff of courses active in the new experience,
this will impact (at a minimum) the "View Live"
links in Studio, all links on the old and new LMS
course outline, and the "Resume" links on the course
dashboard. Learners should see no difference other than
a performance improvement when following courseware links
from the LMS.

This also adds an optional 'experience=[legacy|new]'
query param to /jump_to/, allowing us to specifically
generate Legacy courseware URLs for the
"View in Legacy Experience" tool.

TNL-7796
2021-04-07 10:24:58 -04:00
Bianca Severino
8cee215c01 feat: pass username into CourseHomeMetadataView
Passes the request username into the course home metadata view so that
masquerade functionality can be used with the proctoring info panel.
2021-04-05 15:15:05 -04:00
Ben Holt
ec3c31eb05 feat: added another 'Date' expose-headers for outline api clients (#27221)
Exposed the Date header on the outline api so clients can accurately compute times relative to the dates returned by the API; this was previously done with the course API (#26979)

Browser time is notoriously unreliable for this, especially for a Learner-facing countdown call-to-action based on the access expiration date. (REV-2126)

Using the Date header for this allows the client to make use of information that is already sent, does not require additional calls nor modifying the API, and could be generalized to more or all our APIs without modifying them.
2021-04-02 10:37:19 -04:00
Matthew Piatetsky
cbb84fef74 fix: ensure that course staff can see course outline content when masquerading as a learner
AA-727
2021-04-01 10:55:22 -04:00
Carla Duarte
4570d4e3d8 fix: surface assignment type short_label in Progress Tab MFE API 2021-03-25 17:52:15 -04:00
Carla Duarte
e8bfee28c5 AA-722: surface num_droppable assignments in MFE Progress Tab API 2021-03-24 13:55:56 -04:00
Sofiane Bébert
5d7cd3d278 docs: annotate auto_certificate_generation (#26770) 2021-03-19 16:01:55 -04:00
Carla Duarte
dbe31e3c48 AA-212: add masquerade test for progress tab 2021-03-15 16:35:30 -04:00
Carla Duarte
403358e09f AA-213: create progress tab mfe waffle flag 2021-03-12 10:08:34 -05:00
Carla Duarte
99f73312b8 Progress Tab 2021-03-11 15:43:58 -05:00
Carla Duarte
23700b3064 AA-684: sequence link to legacy or MFE 2021-02-25 13:48:50 -05:00
Kyle McCormick
558d2eb52c refactor: centralize learning MFE URL-building logic (#26689)
In preparation for switching LMS/Studio over
from serving legacy courseware URLs in certain
places (for example, resume_course_url) to serving
learning micro-frontend URLs.

TNL-7796
2021-02-24 08:50:15 -05:00
Jawayria
a383845b01 BOM-2352: Removed unused imports from lms/djangoapps/{course_blocks, course_goals, course_home_api, courseware} 2021-02-22 21:44:42 +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
3d1f3cea64 Ran pyupgrade on lms/djangoapps/course_blocks
Ran pyupgrade on lms/djangoapps/course_goals
Ran pyugprade on lms/djangoapps/course_home_api
2021-02-19 16:29:52 +05:00
Aarif
d2a147bb47 replaced unittest assertions pytest assertions (#26542) 2021-02-18 19:14:41 +05:00
Michael Terry
139a0f6ee1 Merge pull request #26290 from edx/mikix/effort-estimation
AA-614: Add initial effort estimation block transformer
2021-02-18 08:52:55 -05:00
Michael Terry
1b9119859e AA-614: Add initial effort estimation block transformer 2021-02-18 08:31:19 -05:00