Commit Graph

23174 Commits

Author SHA1 Message Date
Phillip Shiu
359f3cf3f6 fix: add partial_fbe.html 2021-09-15 12:08:20 -04:00
Phillip Shiu
2e5b922692 fix: abstract track selection bullets into new mako template 2021-09-15 12:08:08 -04:00
julianajlk
519872a993 feat: add SVGs for icons in Track Selection, refactor URLs and tests (#28701)
REV-2133
2021-09-15 09:37:31 -04:00
Olivia Ruiz-Knott
5678b9e036 Merge pull request #28715 from edx/ork/MICROBA-1488_change-override-to-datetime-field
feat: Change override date to datetime
2021-09-13 09:23:46 -06:00
edX Transifex Bot
6e9d448a19 chore(i18n): update translations 2021-09-13 02:45:53 +05:00
oliviaruizknott
59fefa10eb feat: Change override date to datetime
When first building the Certificate Date Override feature, I set up the
CertificateDateOverride model to store the override dates as Dates
instead of DateTimes.

Turns out this is not how edX typically handles dates, and it’s causing
some minor headaches around needing to convert values. Also, using just
Dates causes timezone issues.

MICROBA-1488
2021-09-10 14:42:36 -06:00
julianajlk
5cfa680835 fix: add nested CSS to avoid popover class name override (#28712)
REV-2329
2021-09-10 15:32:53 -04:00
oliviaruizknott
dbfe2a3f2b feat: notify_credentials of changed overrides
We use the `notify_credentials` management command to keep certificate-
related data in the LMS and Credentials service in sync. We can run it
with specific arguments (user_ids, course_keys, etc.) when we notice a
data discrepancy; and it is run regularly by a Jenkins job with the
`--auto` flag every ~4 hours to keep things up-to-date.

Because we probably never want to notify credentials of of ALL the
GeneratedCertificates, the celery task must be given some arguments
to filter down to the relevant certificates. Running the management
command with the `--auto` flag (as the Jenkins job does) adds
`start_date` and `end_date` arguments of 4 hours ago and now,
respectively.

The handle_notify_credentials celery task then takes those arguments and
looks for any GeneratedCertificates that have been modified within the
given time range by checking the GeneratedCertificate modified_date.
It will send the current data for those certificates to credentials.

However, we also want to notify credentials about certificates that have
an associated CertificateDateOverride that has changed within that time
range: added, updated, or deleted. But changes to a
CertificateDateOverride won’t affect the GeneratedCertificate’s modified
date, and therefore wouldn’t be included in the list of certs cent to
credentials.

This commit adds a check for changed CertificateDateOverrides and
includes their associated GeneratedCertificates in the list of certs. We
use the CertificateDateOverride’s history model for this check so that
we can include certificates whose override was deleted.

MICROBA-1489
2021-09-10 12:32:17 -06:00
Andy Shultz
dc01bf3aad feat: add parameter to submit attempt to carry full name through
original behavior does pass the empty name through to
_update_full_name rather than just considering that as full name not
set. That's a little weird but outside the scope of this work so I've
preserved it by checking is not None rather than just using full_name
as a boolean.

MST-1015
2021-09-09 14:18:38 -04:00
Andy Shultz
695f2cd4c8 feat: prevent name update on photo verification if the name is already updated
MST-1015
2021-09-09 11:56:06 -04:00
Andy Shultz
f158fedd15 feat: only update full name if not verified name enabled
MST-1015
2021-09-09 11:56:06 -04:00
Andy Shultz
1288d964b8 docs: clarify docs for _update_full_name 2021-09-09 11:56:06 -04:00
Zia Fazal
1578b0c6ea Merge pull request #28642 from edly-io/ERTE-55
feat: Added support for enterprise id in course_grade_passed_first_time event
2021-09-09 18:37:51 +05:00
Awais Qureshi
28d2908588 Merge pull request #28649 from edx/upgrade-django-cors-headers-320--
feat: upgrade django-cors-headers to lateast version.
2021-09-09 18:06:01 +05:00
RehanAziz
1fffdc66fc feat: Added support for enterprise id in course_grade_passed_first_time event 2021-09-09 13:44:25 +05:00
Bianca Severino
2fe08ce5c1 Merge pull request #28670 from edx/bseverino/idv-pending-name
[MST-1025] Use pending name change in IDV post_save signal
2021-09-08 14:40:50 -04:00
Awais Qureshi
36df86d829 feat!: Major upgrade django-cors-headers to new version 3.2.0
BREAKING CHANGES:
- `CORS_ORIGIN_WHITELIST` now requires URI schemes.
- Added new list `CORS_ORIGIN_WHITELIST_WITH_SCHEME` which contains all links of `CORS_ORIGIN_WHITELIST` with schemes and load the desired list after checking installed version.
- For more details, visit this: https://github.com/adamchainz/django-cors-headers/blob/main/HISTORY.rst#320-2019-11-15
2021-09-08 21:39:57 +05:00
Bianca Severino
bdc8653cca fix: use pending name change in IDV post_save signal 2021-09-08 12:25:29 -04:00
David Ormsbee
309cadc973 Revert "Use new version of edx-when." (#28684)
Reverting because of errors seen in proctoring. The error from splunk:

 File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/edx_proctoring/views.py", line 590, in get
    data['onboarding_release_date'] = effective_start.isoformat()
AttributeError: 'NoneType' object has no attribute 'isoformat'

The effective date is coming from learning_sequences, which ultimately
comes from edx-when.
2021-09-08 11:05:35 -04:00
Olivia Ruiz-Knott
217f9b4660 Merge pull request #28601 from edx/ork/MICROBA-1487_fix-bulk-delete-date-override
refactor: Use post_delete for date override
2021-09-08 08:32:39 -06:00
Matthew Piatetsky
ea22d08909 Merge pull request #28464 from open-craft/jvdm/feat/importable-courses-api
Feature: Add permissions filter to courses API [SE-4588]
2021-09-08 08:10:08 -04:00
Tinuade Adeleke
5b9e84d321 feat: created custom pages course app plugin (#28579)
created CustomPagesCourseApp class

feat: created custom pages course app plugin

created CustomPagesCourseApp class
added CUSTOM_PAGES_HELP_URL to lms and cms settings
added entry point to setup.py

feat: added toggle to ENABLE_CUSTOM_PAGES in lms and cms settings

feat: removed the option to enable/disable the availability of custom pages course apps.
2021-09-08 12:44:37 +05:00
J. Victor Martins
6adf45df2f feat: Add permissions filter to list courses API
The new filter, called `permissions`, allows callers to filter courses
per access granted to the specified username.  Callers can now filter
courses per roles, actions, etc.
2021-09-07 14:41:50 -07:00
julianajlk
fd3290e00d fix: updates to Value Prop Track Selection from QA (#28665)
REV-2133
2021-09-07 14:23:35 -04:00
Chris Deery
a13587af3a feat: AA-940 Remove split_test from Masquerade dropdown (#28501)
* feat: [AA-940] Remove split_test from Masquerade dropdown
Filter content groups that are not part of a cohort from the selection
available to the select in the Masquerade bar.

Refs AA-940

Co-authored-by: cdeery <cdeery@edx.edu>
2021-09-07 12:52:06 -04:00
Jawayria
caf95002a2 Merge pull request #28403 from edx/jawayria/django32-settings
chore: Updated lms and cms settings
2021-09-07 19:27:10 +05:00
Kshitij Sobti
982c98d1bd fix: loading of profile images in devstack (#28555)
Profile images don't load in the devstack since the path for media files is
broader than the path for profile images, reorderig them fixes this.
2021-09-07 09:58:28 -04:00
kenclary
42e7e785e3 Merge pull request #28551 from edx/juliasq/TNL_8061_optimize_outline_block_data_retrieval
Use new version of edx-when.
2021-09-07 09:31:18 -04:00
edX Transifex Bot
15b965c201 fix(i18n): update translations 2021-09-06 02:50:49 +05:00
DawoudSheraz
e986d360c9 refactor: move course location util to common djangoapp instead of xmodule 2021-09-03 12:40:28 +05:00
Julia Eskew
a4ba37b882 feat: Optimize the querying of course block dates when querying dates for use in a
course outline, which don't need block dates below the subsection level of a course.
Pass the course's published version to all the appropriate places where edx-when's API
is called - to allow edx-when to more efficiently cache queried/processed results.

TNL-8061
2021-09-02 17:45:13 -04:00
Bianca Severino
2497adf22b Merge pull request #28546 from edx/bseverino/pending-name-change
[MST-803] Update account API to allow pending name changes
2021-09-02 14:45:00 -04:00
Bianca Severino
d74961f1d9 Merge pull request #28618 from edx/bseverino/program-enrollments-case
[MST-998] Search by external_user_key is now case insensitive
2021-09-02 14:27:52 -04:00
Bianca Severino
89608a2b68 fix: search by external_user_key is now case insensitive 2021-09-02 12:20:58 -04:00
Carla Duarte
e7c3d01f82 Merge pull request #28496 from edx/ciduarte/AA-877
feat: add access_expiration to progress tab view (AA-877)
2021-09-02 09:41:45 -04:00
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
oliviaruizknott
703c917f2a refactor: Use post_delete for date override
Previously, using the bulk delete tool in the Django admin for
`CertificateDateOverride`s would not trigger the post to the credentials
service to delete the corresponding date override stored there. This was
because we were sending the COURSE_CERT_CHANGED signal from an
overridden version of the delete() method. But the Django docs warn:

"Note that the delete() method for an object is not necessarily called
when deleting objects in bulk using a QuerySet or as a result of a
cascading delete. To ensure customized delete logic gets executed, you
can use pre_delete and/or post_delete signals."

Now we use the post_delete signal instead of overriding the delete()
method to make sure the COURSE_CERT_CHANGED signal is sent for both
individual and bulk deletes.

MICROBA-1487
2021-09-01 14:03:35 -06:00
Carla Duarte
fe435987b0 feat: add access_expiration to progress tab view (AA-877) 2021-09-01 15:12:45 -04:00
J. Victor Martins
14e2f29516 feat: Make content libraries an LTI 1.3 tool
Offers blockstore-based content through content libraries acting as an
LTI 1.3 tool:

- Content Library support LTI 1.3 launches offering blockstore-based
  content through resource links.

- Content Library support LTI 1.3. AGS, allowing gradebook updates from
  graded assignments.
2021-09-01 11:56:51 -07: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
Bianca Severino
65905a01ec feat: update account API to allow pending name changes 2021-09-01 11:26:43 -04:00
Tim McCormack
a96864d3cc feat: Enable CookieNameChange in LMS in prep for session cookie rename (#28609)
ref: ARCHBOM-1833/ARCHBOM-1649
2021-09-01 15:14:25 +00: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
Zainab Amir
cfc8ab6298 fix: remove edX support URL from login page (#28577) 2021-09-01 11:29:39 +05:00
julianajlk
e492ff6050 fix: update variable colors with hex colors (#28604) 2021-08-31 18:06:51 -04: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
julianajlk
1749235761 fix: add scss import for Value Prop Track Selection (#28585)
REV-2133
2021-08-31 15:01:10 -04:00
SaadYousaf
bf64c34d9d feat: add program discussion for learner dashboard 2021-08-31 11:15:44 +05:00