Commit Graph

12690 Commits

Author SHA1 Message Date
Chris Deery
c4cedbae38 fix: [AA-950] Change coupon flag from WaffleFlag to CourseWaffleFlag (#28623)
Replacing the streak_celebration.discount_experiment_AA759 Waffle flag with
courseware.streak_discount_enabled CourseWaffleFlag

https://openedx.atlassian.net/browse/AA-950

Co-authored-by: cdeery <cdeery@edx.edu>
2021-09-02 08:32:56 -04:00
Awais Qureshi
32053c6ab4 Merge pull request #28588 from edx/loading-cors-origins-with-shceme
feat: `djang-cor-headers` need schemes with urls. Condition added for future.
2021-09-02 16:45:49 +05:00
edX requirements bot
5e84e3761f feat: djang-cor-headers need schemes with urls. Adding condition to switch lists with different version.
With the PR it will load the old `CORS_ORIGIN_WHITELIST` since there is no change in `djang-cor-headers` version. In next PR this version will get upgraded.
2021-09-01 23:02:45 +05:00
Chris Deery
8d682cb447 feat: [AA-950] Productize Streak Discount (#28582)
* feat: [AA-950] Productize Streak Discount

- Change STREAK_DISCOUNT_EXPERIMENT_FLAG to STREAK_DISCOUNT_FLAG
- Remove references to "experiment" and ticket AA-759
- Made flag names more consistent
- Move segment event from get_bucket  to streak calculation
- Streak discount event edx.bi.course.streak_discount_enabled is sent when celebrations are calculated
- Convert LegacyWaffleFlags to WaffleFlags

Co-authored-by: cdeery <cdeery@edx.edu>
2021-09-01 10:55:32 -04:00
Zia Fazal
5a382d811f Merge pull request #28415 from edly-io/ERTE-77
feat: Emit course completion related events
2021-09-01 11:33:07 +05:00
Jhony Avella
95a6abcd1f revert: removing read_committed argument from outer_atomic function (#28161)
In the PR https://github.com/edx/edx-platform/pull/10659 the outer_atomic decorator/context manager was created to prevent nested atomic blocks. This method received a boolean parameter read_committed to enforce read-committed MySQL isolation level. From Django 2, the default isolation level Django sets is read-committed, so the aforementioned parameter for outer_atomic can be removed
2021-08-31 16:39:35 -04:00
SaadYousaf
bf64c34d9d feat: add program discussion for learner dashboard 2021-08-31 11:15:44 +05:00
Maria Grimaldi
54627e1101 refactor: replace User for UserFactory and its methods
This change is done so the profile is automatically created for tests users
2021-08-30 11:03:49 -04:00
Olivia Ruiz-Knott
79b8b376fa Merge pull request #28567 from edx/ork/MICROBA-1399_certificate-date-override-adr
doc: ADR for date override
2021-08-30 08:31:32 -06:00
David Ormsbee
8b17afc818 fix: prefer HTML5 video when youtube support is deprecated.
In the case where a server/course has both:

* YouTube deprecated (waffle flag: videos.deprecate_youtube = True)
* HLS enabled (ConfigModel: HLSPlaybackEnabledFlag, in video_config)

Prior to this commit, we would prefer the HLS source if one of the
HTML5 video sources specified a .m3u8 file. However it looks like this
file isn't always guaranteed to be produced.

This fix always prefers HTML5 video sources to YouTube if the server or
course is configured to deprecate YouTube, as long as at least one
non-YouTube source is found. TNL-8594.

Note that this may confuse users because we're essentially bypassing
their Studio-specified preferred primary source with a server-wide
setting.
2021-08-30 10:12:12 -04:00
Usama Sadiq
cde050618e build: Moved user and group management commands and unit tests to edx-django-utils
- Removed manage_user and manage_group commands and their unit tests from edx-platform and added then to edx-django-utils.
- Modified User.post_save signal to ensure the user profile is created when manage_user management command is run to create a user.
- Added edx-django-utils to INSTALLED_APPS for LMS and Studio.
- Moved generate_password from openedx.core.djangoapps.user_authn.utils to edx_django_utils.user along with its unit test.
2021-08-30 12:03:37 +05:00
oliviaruizknott
2bd9d663cd doc: ADR for date override 2021-08-27 14:21:31 -06:00
alangsto
b6cb629849 feat: add signal emitters for IDV (#28511)
MST-805. A signal should be emitted upon an IDV attempt being submitted or reviewed for consumption by other applications.
2021-08-26 15:29:48 -04:00
RehanAziz
db83a91ac2 feat: Emit course completion related events 2021-08-26 14:17:50 +05:00
oliviaruizknott
eb2d606283 refactor: send cert changed signal on_commit
Because we have ATOMIC_REQUESTS turned on, the COURSE_CERT_CHANGED
signal was being sent *before* the date override was committed to the
database. This means that the date override data sent to credentials on
CertificateDateOverride save() was always one commit behind.

Django provides an on_commit() function to allow us to perform actions
only after a transaction is completed successfully. I believe this
is when we want this signal to be sent.

This is an alternative to 1) disabling atomic transactions for a view
(honestly, I’m not sure which view we would target anyway), or 2)
passing more data down through the signal.

Toward MICROBA-1423
2021-08-25 15:45:17 -06:00
Maria Grimaldi
2ee52ea96c refactor: replace some create_user with UserFactory to avoid non-existent profile errors 2021-08-24 15:49:21 -04:00
alangsto
6fa89e610a fix: Allow masquerading users to see content (#28458)
If a user with staff access is masquerading as a specific student, they should be able to see content that would normally be gated for that student.
2021-08-24 09:14:01 -04:00
Azan Bin Zahid
de0f42c93e Merge pull request #28289 from edx/azan/PROD-2400
Pact Provider Verification Setup
2021-08-24 17:19:59 +05:00
Azan Bin Zahid
1cce2e952d feat: add pact verification method 2021-08-24 14:59:46 +05:00
Michael Terry
2176dd7890 feat: allow unsubcribing from a course goal with just a token
* Add unsubscribe_token uuid field to CourseGoal model
* Add endpoint to unsubcribe from just a token (no login needed)
* Add admin page for the course_goals djangoapp
* Add get_course_overview_or_404 utility method
* Clean up URL handling in course_home_api

AA-907
2021-08-23 12:07:32 -04:00
Leangseu Kim
6985e1388b fix: grading from Staff Graded Assignment xblocks are not successfully being passed
block_type isn't guarantee to be the same as item_type. In this case, item_id should be enough for filtering.

Ticket [AU-70]
2021-08-18 14:53:29 -04:00
Justin Hynes
b7085c2cf9 refactor!: Remove the request_certificate REST endpoint (#28346)
[MICROBA-1412]
[DEPR-155]

Remove the request_certificate REST endpoint from the LMS (certificates Django app)
2021-08-18 10:43:47 -04:00
Bianca Severino
1b1637f33f Merge pull request #28463 from edx/bseverino/proctoring-settings-url
[MST-859] Update proctored exam settings URL
2021-08-18 09:20:42 -04:00
mohtamba
e300ba1dbc Merge pull request #28474 from edx/mohtamba/remove-bulk-allowance-waffle-flag
Remove waffle flag for bulk allowance
2021-08-17 18:44:22 -04:00
Andrew Shultz
78a390f83d Merge pull request #28478 from edx/ashultz0/name-affirm-061
chore: update name affirmation to 0.6.1
2021-08-17 15:27:29 -04:00
Bianca Severino
1255bd8535 fix: update proctored exam settings URL
The proctored exam settings link now directs to a new modal view, rather
than the old exam settings page.
2021-08-17 15:06:53 -04:00
Andy Shultz
fa89221d46 feat: update name affirmation to 0.6.1
Certificate tests required an update to switch from boolean verified
flag to status. This feature is not deployed yet so only test uses
needed attention.

MST-969 and friends
2021-08-17 14:50:45 -04:00
oliviaruizknott
e99029659c feat: Send date override to credentials
When sending a GeneratedCertificate to Credentials, send the associated
CertificateDateOverride (if there is one), or else None. This
will be triggered after any save of a GeneratedCertificate, and after
any save or deletion of a single CertificateDateOverride.

Credentials will eventually store its own copy of this date override, or
edit or remove exiting date overrides.
2021-08-17 12:22:27 -06:00
mohtamba
25dfb9d4ca Remove waffle flag for bulk allowance
Remove the waffle flag for bulk allowance, so by default the bulk allowance feature is enabled and is the only option.
2021-08-17 07:42:39 -04:00
Dillon Dumesnil
09bc2d11e6 fix: Updating the branding/api.py to use unicode copyright
This is really just the change to use the unicode copyright symbol
and then rerunning the pull translations logic (minus the transifex step)
to update the eo files. The other changes were just picked up as part of
running those scripts
2021-08-16 09:43:26 -04:00
Dillon Dumesnil
424abc030b feat: Add User Activity Model for Course Goals AA-903 2021-08-13 13:04:03 -04:00
mohtamba
a06774130c Merge pull request #28445 from edx/mohtamba/add-proctor-card-to-course-authoring
Add proctored exam settings card to the pages and resources webpage
2021-08-12 15:39:01 -04:00
mohtamba
0dd41df4f2 Fix comments and adjust allowed settings
Fix the allowed permissions on the proctored exam cards.
2021-08-12 14:28:49 -04:00
oliviaruizknott
ecba21dcc0 feat: Display date override on certificate
If the certificate has an associated certificate date override, display
that date on the certificate instead of any other date. The date
override should not affect whether or not the certificate is visible /
available; only the date displayed on the certificate.
2021-08-12 11:33:05 -06:00
mohtamba
e39d82ab24 Add check for Special Exams toggle 2021-08-11 16:15:08 -04:00
mohtamba
05482aedeb Merge branch 'master' into mohtamba/add-proctor-card-to-course-authoring 2021-08-11 14:15:15 -04:00
Matt Tuchfarber
d53d8e45a5 refactor: Merge the openedx certs app with lms one (#28435)
* refactor: Merge the openedx certs app with lms one

Move the certs API from openedx into the lms certificates app.
Functionally, this is a no-op. Cleanup will happen in a subsequent
commit. This is simply a move.
2021-08-11 10:25:55 -04:00
mohtamba
9b7d92fe45 Initial Attempt at adding proctored exam settings
Added proctored settings card, however the page doesn't get the legacy link correctly
2021-08-11 08:34:46 -04:00
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
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
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
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
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
Mehak Nasir
a488f33542 fix: description text fix for wiki 2021-08-05 14:12:33 +05:00