Commit Graph

23070 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
Michael Terry
f2bb92bc64 Merge pull request #28124 from open-craft/arjun/bb-4449-anchor-courseware-chormeless
fix: courseware-chromeless: cancel click event only when target is found
2021-08-09 14:39:37 -04:00
Robert Raposa
036a1a835c Revert "MB-1192: [feat] Add course ended, not passing certificate status to dashboard messaging (#28405)" (#28426)
This reverts commit 35d9330c19.
2021-08-09 12:38:14 -04:00
Julia Eskew
7fc109ebcb fix: ES 7.10 is now the default ES version for devstack, so change the
default address for testing ES using integration tests in devstack.
2021-08-09 11:37:51 -04:00
Thomas Tracy
35d9330c19 MB-1192: [feat] Add course ended, not passing certificate status to dashboard messaging (#28405)
* [feat] Add course over, not passing status to dash

If a student has not passed a course, the course has ended, and they
have a verified seat, we want to show them a message at a glance on the
dashboard.
2021-08-09 10:03:49 -04:00
Bianca Severino
d2fa7f7239 feat: use verified name for certs if enabled
If the verified name feature is enabled and the user has their
preference set to use verified name for certificates, create and
display certificates with their verified name rather than their
profile name.
2021-08-06 14:28:06 -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
Matthew Piatetsky
5db6cbb795 Merge pull request #28320 from edx/AA-902
feat: update course goals with new fields and a waffle flag to toggle the new behavior
2021-08-06 09:13:22 -04:00
Matthew Piatetsky
8183a5ae64 address comments 2021-08-05 21:45:58 -04:00
Manjinder Singh
f7c5a109d4 Revert "feat: add explicit courserun_key parameter to /event endpoint" (#28410) 2021-08-05 18:05:20 -04:00
Braden MacDonald
da09bcadc5 refactor: run modulestore tests in common/lib/... using Django
Does 3 things:
(1) Use django for modulestore tests
(2) Use normal LMS settings for modulestore tests instead of openedx/tests/settings.py
(3) Simplify some TestCase subclasses by converting them to use ModuleStoreTestCase


Details and rationale:

(1) Currently parts of the modulestore test suite are designed to run "without django", although there is still a lot of django functionality imported at times, and many of the tests do in fact use django. But for the upcoming PR #27565 (moving split's course indexes from MongoDB to MySQL), we will need to always have Django enabled. So this commit paves the way for that change.

(2) The previous tests that did use Django used a special settings file, openedx/tests/settings.py which made some debugging confusing because those tests had quite different django settings than other tests. This change deletes that file and runs the tests using the LMS test settings.

(3) The test suite also contains many different ways of initializing and testing a modulestore, with significant differences in their configuration, and also a lot of repetition. I find this makes understanding, debugging and writing tests more difficult. So this commit also reduces the number of different "test case using modulestore" base classes:

* Simplifies MixedWithOptionsTestCase and MixedSplitTestCase by making them simple subclasses of ModuleStoreTestCase.
* Removes PureModulestoreTestCase.
2021-08-05 12:20:19 -07:00
kenclary
e14ceaab3f Merge pull request #28333 from edx/TNL-7752
feat: add explicit courserun_key parameter to /event endpoint
2021-08-05 13:59:42 -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
mohtamba
67da5bbb9c Merge pull request #28399 from edx/mohtamba/adjust-special-exam-dropdown-spacing
Fixed spacing on special exam dropdown headers
2021-08-05 10:00:53 -04:00
mohtamba
32ef868bad Adjusted structure of code to minimize changes 2021-08-05 08:31:12 -04:00
Mehak Nasir
a488f33542 fix: description text fix for wiki 2021-08-05 14:12:33 +05:00
Ken Clary
bbb14a2c6a feat: add explicit courserun_key parameter to /event endpoint
We add 'courserun_key' (aka "course_id" though that's technically a
misnomer) as an optional parameter to the /event endpoint url. If it
is not present, it will still be parsed out of the url, if the url is
of the right format.

Additionally, Logger.log() in js adds this parameter to its /event
call, pulling it from the $$course_id global.

This provides opportunity for MFEs to (separately) provide the key
without concern about url parsing.

TNL-7752
2021-08-04 22:47:43 -04:00
mohtamba
30a70d06c2 Fixed spacing on dropdowns 2021-08-04 15:25:02 -04:00
Jawayria
5bba158419 Merge pull request #28355 from edx/jawayria/lms-codemod-1
chore: Executed codemods on lms
2021-08-04 21:14:45 +05:00
Olivia Ruiz-Knott
3d25549110 Merge pull request #28394 from edx/ork/MICROBA-1417_add-certificate-date-override-to-admin
feat: Add CertificateDateOverride model to admin
2021-08-04 09:36:54 -06:00
oliviaruizknott
f63173617c feat: Add CertificateDateOverride model to admin
Register the new CertificateDateOverride model with the Django admin.
Customize the `generated_certificate` field to accept the certificate id
(with search); and autosave the admin user making the change to the
`overridden_by` field, and make it read-only.

For MICROBA-1417, toward MICROBA-1239.
2021-08-04 08:10:08 -06: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
Robert Raposa
8e4e9a1d39 fix: add code owner mapping for edx-name-affirmation (#28386)
* fix: add code owner mapping for edx-name-affirmation

Enables edx_name_affirmation views to have a code owner.
2021-08-03 18:41:46 -04:00
cdeery
35caeb4036 Clean up to pass pep-8 2021-08-03 17:16:02 -04:00
David Ormsbee
149b014053 fix: disallow "data:" links in discussion posts
Sanitizes Markdown that goes back and forth between the server and
client side, to strip out data: links, so that they cannot be abused.
There is no present vulnerability to this issue–modern browsers disallow
data links in the first place, and we already filter this out in both
client-side code as well as the HTML generated in the REST API (it's run
through bleach). But we're adding this anyway, to further reduce the
odds that some client-side mistake could cause a vulnerability. This is
part of TNL-8589.
2021-08-03 15:19:07 -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
Christie Rice
cdeda7a313 fix: Update mode in course certificate when marking cert as invalidated, not verified or not passing (#28330)
MICROBA-1410
2021-08-03 11:24:11 -04:00
Hamza Farooq
4a2549f49a fix: making LOGIN_REDIRECT_WHITELIST configurable through env files (#26760)
LOGIN_REDIRECT_WHITELIST has been used to filter redirect-url while processing logout requests but its configurations were not picked through environment files like lms.yml or studio.yml. This PR fixes that bug.
2021-08-03 08:29:23 -04:00
Jawayria
f7c2ff1222 chore: Executed codemods on lms/djangoapps 2021-08-03 14:27:03 +05:00
Olivia Ruiz-Knott
379a818a04 Merge pull request #28258 from edx/ork/MICROBA-1239_certificate-date-override
feat: Add CertificateDateOverride model
2021-08-02 13:23:46 -06:00
oliviaruizknott
8906adb072 feat: Add CertificateDateOverride model
Add a new model (and corresponding migration) to the certificates
app in the LMS: CertificateDateOverride. The model will eventually be
used to allow course teams / support to override the "Issued On" date
for a given course certificate.
2021-08-02 12:44:37 -06:00
Justin Hynes
8a7ad06304 Merge pull request #28332 from edx/jhynes/microba-1087_dashboard
refactor!: Remove `generate_example_certificates` and update Instructor Dashboard with updated messaging.
2021-08-02 14:02:34 -04:00
Justin Hynes
d4a7a44909 refactor!: Remove generate_example_certificates and update Instructor Dashboard with updated messaging.
[MICROBA-1087]
[DEPR-155]

* Remove `generate_example_certificates` functionality
* Adjust Instructor dashboard slightly to prevent people from clicking the `Generate Example Certificates` button, remove form/code that called the `generate_example_certificates` endpoint.
2021-08-02 13:26:28 -04:00
Matthew Piatetsky
986261a8d0 feat: update course goals with new fields and a waffle flag to toggle the new behavior 2021-08-02 12:52:47 -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
Nathan Sprenkle
121afd0c5f refactor: new logic for when to enable Gradebook bulk management (#28080)
Formerly, bulk management was enabled by sending feature feature
toggle to Gradebook which also checked for the presence of a 
master's track to enable the feature. This default enables for all
courses with a master's track and also allows selective enabling 
for courses with the feature flag.
2021-08-02 11:06:08 -04:00
Christie Rice
5fa4fcea5e fix: Handle missing user profile when setting a name in a course certificate (#28319)
MICROBA-1410
2021-08-02 10:58:13 -04:00
Awais Qureshi
eb0a66c2bd chore: Django3 has removed python_2_unicode_compatible.
Execute the codemodes.
2021-07-30 22:13:13 +05:00
Christie Rice
8971c99da6 feat!: Add migration to drop the CertificateWhitelist table (#28307)
This model has been replaced by the CertificateAllowlist.

MICROBA-1304
2021-07-30 10:27:35 -04:00
Maari
81a17b90aa feat: add an option to enable Badgr notifications (#28313)
With Badgr v2 API, notification emails for earning badges are
no longer sent to learners by default. However, the request to
create a badge assertion accepts an optional boolean property
"notify", that can be used to enable/disable email notifications.

Make it configurable by an optional setting `BADGR_ENABLE_NOTIFICATIONS`
(defaults to False).
2021-07-29 15:33:23 -04:00
Julia Eskew
aad7aa17db fix: Add production Django setting line for the origin-specific token to
disable subframe dialog suppression for sites which use ENV_TOKENS for config.
2021-07-29 12:28:55 -04:00
Christie Rice
5883d13092 feat!: Remove CertificateWhitelist model (#28308)
This model has been replaced by the CertificateAllowlist.

MICROBA-1304
2021-07-29 09:50:34 -04:00
Justin Hynes
1887f13fd2 Merge pull request #28281 from edx/jhynes/microba-1087
refactor!: Remove unused callback endpoints used for PDF cert generation/updates
2021-07-29 07:56:45 -04:00
Julia Eskew
a0d6095fb6 feat: Add token which disables different origin subframe dialog suppression
for Chrome version 92. This token is added to the courseware iFrame, which
enables the iFrame to retain the ability to summon modals & alerts - or open
new windows via JS. This token has a limited lifespan - it currently expires around
Dec 14, 2021.

TNL-8559
2021-07-28 14:32:39 -04:00
Justin Hynes
dbe8ae1fbb refactor!: Remove unused callback endpoints used for PDF cert generation/updates
[MICROBA-1087]
[DEPR-155]

* Removed callback functions that were originally used to update certificates (and example certificates) post xqueue processing
2021-07-28 14:21:31 -04:00
David Ormsbee
dae459bfb4 feat: Rollout override for Learning Sequences API (#28205)
We control rollout of the Learning Sequences REST API with the
USE_FOR_OUTLINES (learning_sequences.use_for_outlines) course waffle
flag. But sometimes we're going to want to be able to take a look at
production data output of this API before explicitly turning the API on
(and switching over to it) for the Courseware MFE. To do this, we're
going to make the availability base itself purely on the waffle flag and
course type (Old Mongo courses are not supported), and allow people to
"peek" at what the API would have given if it was rolled out by passing
an explicit "force_on=1" querystring param.

This is work to support the rollout of TNL-8330.
2021-07-28 11:53:17 -04:00