Commit Graph

4228 Commits

Author SHA1 Message Date
Christie Rice
cf3a6c16d6 fix: Stop showing course certificate buttons to beta testers (#28416)
Beta testers can’t earn course certificates, so they should not see a “Request Certificate” button or other info describing how they can earn a cert.

MICROBA-992
2021-08-10 09:06:14 -04:00
Chris Deery
8aedebcdb2 Merge pull request #28384 from edx/cdeery/AA-893/DontShowViewAsLearner
fix: [AA-939] Don't show View As Learner if partitions exist
2021-08-06 10:20:35 -04:00
cdeery
b4b461b698 fix: collapse unit tests by using ddt 2021-08-05 13:40:03 -04:00
cdeery
eafea504ac fix: changes suggested in code review
Cleaned up the nits.
2021-08-05 12:35:54 -04:00
Justin Hynes
3a87aad963 Merge pull request #28391 from edx/jhynes/microba-1354
refactor: update name of `cert_generation_enabled` function name to reflect actual purpose
2021-08-05 12:27:42 -04:00
Justin Hynes
7f5cf2fabd refactor: update certificates app Python API functions
[MICROBA-1354]

* Update Python API function named `cert_generated_enabled` to `has_self_generated_certificates_enabled` to more accurately reflect the purpose of the function
2021-08-04 08:43:12 -04:00
Kshitij Sobti
6cbb9cbca3 feat: Supply documentation links for course apps from the backend (#28327)
Instead of hard-coding the "Learn More" and potentially other links for course
apps in the course authoring  MFEs this change loads those URLs from the
django settings as part of each individual course app.
2021-08-04 15:04:13 +05:00
cdeery
35caeb4036 Clean up to pass pep-8 2021-08-03 17:16:02 -04:00
cdeery
fc8b0a4d60 fix the logic of the validation in the unt tests so it was correct in all cases 2021-08-03 15:12:03 -04:00
cdeery
b05af6b344 fix: [AA-893] Don't show View As Learner if partitions
Remove the option to masquerade as a generic learner
if there are enrollment tracks or partition groups
because the behavior is unpredictable and unhelpful.

Fixes: AA-893
2021-08-03 13:15:00 -04:00
Matt Tuchfarber
622d56026c Certificate Display Settings revamp (round 2) (#28286)
feat: reimagine certificate display settings

The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously
acting indedependantly of one another. They now work in
tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview model and CourseDetails objects to
validate these fields and choose sane defaults if they aren't
expected values

This work was previously done in bd9e7dd (complete with bugs), so this
version is toggleable via the ENABLE_V2_CERT_DISPLAY_SETTINGS setting
2021-08-02 11:30:15 -04:00
Mehak Nasir
7b29d1bdf2 fix: description updates for pages and resources 2021-07-27 20:32:31 +05:00
connorhaugh
0d26738fce fix: Prevent Transcripts from Failing Export, Edit (#28242)
Instead of having json errors in transcript acquisition and conversion cause errors, have transcription conversion and acquisition simply return an error message in the transcription which can prompt a change from the user.

Although not uploading a transcript is handled, transcripts can often cause errors in edit, export, and other activities due to json errors. These errors block the entire use of these features, so to allow for reupload, etc, we add an error message instead of transcript and log the event.

In response to [TNL-8539](https://openedx.atlassian.net/secure/RapidBoard.jspa?rapidView=580&projectKey=TNL&modal=detail&selectedIssue=TNL-8539)

Testing: Unit tests coverage is included in the PR. Upload, import, and export of courses with transcriptions is also easily hand-testable. Just create a video in studio, add an irrelevant transcript. Then try to import, export, and edit the problem. Expected behavior is success.
2021-07-21 15:52:54 -04:00
João Cabrita
7261bc42bd feat: Add legacy_link field to TextBook app
This implements the `legacy_link` method to the TextbooksCourseApp
and makes the `legacy_link` URL absolute in the API response.

Related tickets:
* [TNL-8438](https://openedx.atlassian.net/browse/TNL-8438)
* [BB-4416 (OpenCraft Internal)](https://tasks.opencraft.com/browse/BB-4416)
2021-07-16 19:34:13 +05:00
mohtamba
fa872a1c8d Merge branch 'master' into mtamba/bulk_allowance_modal_waffle_flag 2021-07-15 19:09:39 -04:00
mohtamba
1c53194250 Add Waffle Flag for Bulk Allowances
Add bulk allowance flag to allow for new feature to be enabled.
2021-07-15 13:41:45 -04:00
Bianca Severino
04cec15840 Merge pull request #28187 from edx/bseverino/verified-name-course-flag
[MST-806] Add CourseWaffleFlag for verified name
2021-07-15 10:35:13 -04:00
Bianca Severino
7fea6d4692 feat: add CourseWaffleFlag for verified name 2021-07-14 16:59:46 -04:00
Awais Qureshi
cfe81cd834 Django3 has removed python_2_unicode_compatible.
Execute the codemodes on this file and removed all usage.
2021-07-15 00:37:15 +05:00
Matt Tuchfarber
63cb6a97ff Revert "feat: Reimagine certificate_availability_date and certificates_display_behavior" 2021-07-07 16:53:05 -04:00
Matt Tuchfarber
2a7106acfb feat: reimagine certificate display settings
The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously acting indedependantly
of one another. They now work in tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview to validate these fields and choose sane
defaults if they aren't expected values

Certificates will now show under the following circumstances:
"Immediately upon passing"
certificate_availability_date = null
certificates_display_behavior = "early_no_info"

"End date of course"
certificate_availability_date = null
certificates_display_behavior = "end"

"A date after the course end date"
certificate_availability_date = <date>
certificates_display_behavior = "end_with_date"
2021-07-06 16:45:23 -04:00
Kyle McCormick
d86aa824c1 revert: feat: add & expose courseware.use_learning_sequences_api flag (#28054)
The learning_sequences.use_for_outlines flag was recently added,
intended to serve the same purpose
as courseware.use_learning_seuqences_api. We do not need
both flags.

Furthermore, exposing either flag in the Courseware
Metadata API is neither necessary nor helpful, since
the easiest and quickest way for the Learning MFE to see
if the Learning Sequences API is enabled is to hit it,
and fall back to a different API if a 403 is returned.

This reverts commit 78f1e2b3bd.

TNL-8330
2021-07-06 11:34:40 -04:00
Christie Rice
b8114ebc59 fix: Remove V2 certificate checks, since V2 has been enabled globally for all course runs (#28077)
MICROBA-1083 DEPR-155
2021-07-06 11:00:54 -04:00
Justin Hynes
4cd15acaf9 Fix failing unit test in courseware 2021-06-30 10:21:10 -04:00
Justin Hynes
c1f7272174 feat!: Remove certificate generation segment event
[MICROBA-1298]
* Remove a Segment certificate event that was, historically, only emit from the courseware.

The Segment event that was previously (only) issued in the courseware doesn't seem to be important or referenced anywhere we could see. Since this event only tracked certificate generation attempts from one (of multiple) paths to initiate certificate generation in v1, I didn't think the historical event data captured is complete. We approached our data teams and I determined this event was not of high importance. For this reason, I am suggesting we just stop using this event and remove the code responsible for sending it.

We will continue to track certificate creation/generation using the existing `edx.certificate.created` event.
2021-06-30 09:23:46 -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
Kyle McCormick
78f1e2b3bd feat: add & expose courseware.use_learning_sequences_api flag (#27993)
Add a Waffle Flag. When enabled, the courseware pages of the
Learning MFE should use the Learning Sequences HTTP API instead
of the Course Blocks HTTP API in order to load course structure
data. We expect that this switchover will lead to performance
improvements and a more comprehensible system.

(We are putting the switchover behind a temporary flag in order to
enable debugging, incremental rollout, and comparison testing.)

The flag is exposed to the MFE via the Course API.
As of this commit, the new flag is not enabled in any environment,
and the MFE does not have any code to act on the flag's value.
So, this commit on its own should have no production impact.

TNL-8330
2021-06-25 11:19:28 -04:00
Diana Huang
29548459fa refactor: Remove PyContracts usage. (#27887)
* refactor: Remove PyContracts usage.

We have not used PyContracts in a while and it is overhead we don't
need in edx-platform.

https://openedx.atlassian.net/browse/DEPR-147

* chore: Updating Python Requirements (#28018)

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2021-06-23 18:24:06 -04:00
Kshitij Sobti
d2c2fcdefe feat: Course Apps API [BD-38] [TNL-8103] [BB-2716] (#27542)
* feat: Course Apps API

This adds a new concept called course apps. These are exposed via a new
"openedx.course_app" entrypoint, which helps the LMS and studio discover such
apps and list them in a new rest api for the same.

These course apps will drive the pages and resources view in the course authoring
MFE. This system will track which apps are enabled and which are disabled. It
also allows third-party apps to be listed here by using the plugin entrypoint.

* Apply feedback from review
2021-06-23 21:51:12 +05:00
Kristin Aoki
456d6c502c fix: Update course preview redirect
This PR changes the preview URL redirect from Studio. Before when a user clicked on the course preview button to check unpublished changes, the preview in the New Experience would show the most recently published version of the course. The unpublished changes that the user was hoping to view are no present. At the moment users have been publishing the content to check it then having to republish the old version if they did not like the changes. As a short-term fix, this PR redirects to the Legacy experience where the preview option previously worked. Now the user can see the unpublished changes. A long-term fix is still being explored. This change will impact the Course Author.
2021-06-21 13:36:21 -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
Albert (AJ) St. Aubin
add5c1130b feature: Update text for downloadable certs 2021-06-16 09:09:35 -04:00
Christie Rice
59dc0a4a39 feat!: Enable v2 of course certificates for all course runs (#27817)
This moves all course runs that use certificates over to V2 of course certificates, and disables the option for a course run to use V1 of course certificates.

MICROBA-1082
2021-06-15 15:08:40 -04:00
Ihor Romaniuk
06c542dfa0 [BD-26] feat: add temporary waffle flag for enabling disabling proctored exams (#27810)
* feat: [BD-26] add the is_proctored value to SequenceMetadata API

* feat: add temporary flag for enabling/disabling proctored exams

* fix: change creation date

* fix: fix text indents

* fix: [BD-26] Remove redundant duplicated test.

Co-authored-by: Sagirov Eugeniy <sagirov19@gmail.com>
Co-authored-by: Igor Degtiarov <igor.degtiarov@raccoongang.com>
2021-06-11 10:04:11 -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
7ddc20db58 fix: AA-796 readd overriding course home mfe flag and test cases when mfe is active or not for testing dates tab link render 2021-06-08 15:44:19 -04:00
Sofia Yoon
9cfecdb65c style: AA-796 remove lint-amnesty comment and reorder imported functions alphabetically 2021-06-08 15:44:19 -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
c37e88fdbf refactor: Move CertificateStatuses to data.py file per OEP-49
[MICROBA-678]

To allow access to CertificateStatuses constants in other Django apps we are moving the
CertificateStatuses enum to data.py per OEP-49.
2021-06-08 08:56:21 -04:00
Sofia Yoon
6f99edcd36 feat: updated course end text AA-827 2021-06-04 14:28:07 -04:00
Christie Rice
fa2b1c34f7 fix: Check certificate status in both v1 and v2 of course certificates (#27843)
MICROBA-1082
2021-06-04 13:46:10 -04:00
Diane Kaplan
c3a22eb6e5 feat: remove course_home_welcome upsell link (REV-2131) (#27603) 2021-05-26 15:13:09 -04:00
Diane Kaplan
5ac710995d feat: remove course_home_course_tools upsell link (REV-2131) 2021-05-26 12:02:18 -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
Dillon Dumesnil
8aeb460133 feat: Update the course end date block display logic
For self-paced courses, we have decided to switch to showing the end
date as long as it is within 365 days rather than the expected
duration of the course.
2021-05-19 09:09:57 -04:00
Simon Chen
ce6087f546 [Chore]:MST-677 Cleanup the waffle flag to roll out Proctoring Improvements (#27657) 2021-05-17 20:46:24 -04:00
Justin Hynes
313a295c95 refactor: update function calls outside of certificates app for updated generate_user_certificates and regenerate_user_certificates functions
[MICROBA-1238]
* remove unused `course` argument from `generate_user_certificates` function in the certificates app
* remove unused `course` argument from `regenerate_user_certificates` functioni n the certificates app
* remove `course` argument if passed in edx-platform apps outside of the certificates app
2021-05-17 09:39:36 -04:00
Christie Rice
1473973b2b refactor: Rename whitelist to allowlist (#27533)
MICROBA-1021
2021-05-12 09:51:26 -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