Commit Graph

7647 Commits

Author SHA1 Message Date
Juliana Kang
a19697786f feat: Add First Purchase Discount override (#35143)
REV-4098
2024-07-22 14:01:07 -04:00
Muhammad Anas
8f7496d00e fix: DiscussionsConfigurations admin error 2024-07-22 09:08:49 -04:00
Juliana Kang
475b49c3ca feat: Add waffle flag for First Purchase Discount override (#35133)
REV-4097
2024-07-19 08:59:55 -04:00
Eemaan Amir
b438349795 fix: rephrasing and removing bugs from response endorsed notifications (#35136)
* fix: rephrasing and removing bugs from response endorsed notifications

* test: updated test for response endorsed notifications
2024-07-19 15:56:05 +05:00
Deborah Kaplan
a9355852ed test: improve logging for periodic error (#35141)
we have a periodic error that makes no sense when the certificate
available date is none. This improves logging for the API call. Because
the only thing being changed is a course certificate, there is no risk
of PII being exposed in the new logging.
2024-07-18 15:33:15 -04:00
Andrey Cañon
c370028bbd feat: modify PhoneNumberSerializer regex to allow plus symbol at the … (#35117)
* feat: modify PhoneNumberSerializer regex to allow plus symbol at the beginning
* chore: update PhonenumberSerializer docstring
2024-07-17 09:08:44 -04:00
Deborah Kaplan
58de0964ca feat: removing visible_date-to-creds updates per-cert (#35113)
* feat: removing visible_date-to-creds updates per-cert

The credentials IDA now relies on  the course certificate configuration
and (if present) `certificate_available_date` for displayability. We no
longer need to send `visible_date` updates for every awarded certificate
when a course  overview changes.
2024-07-17 08:43:12 -04:00
Deborah Kaplan
c6301b3709 feat: removing the job runners in advance of removing the code (#35115)
* @justinhynes  pointed out that the task queues  might be populated with the to-be-removed task during a blue-green deployment, and it makes sense to remove the  job that queues up  the tasks slated for removal _before_ removing the code for those tasks.
* fixed a mock import order: 2 mocks were brought in an opposite order, but until this change, they
always had the same result  so nobody had noticed.

FIXES: APER-3535
2024-07-12 17:34:42 +00:00
Deborah Kaplan
360159c642 feat: linting before touching all these files (#35108)
* feat:  linting before touching all these files

All these files are old enough, relative either to our current linting
rules or our current linter automation,  that modifying anything in them
either makes the linter cranky or wants to reformat  the entire file.
Rather than mixing cleanup with code changes, this commit just lints
this set of files to our current standards.
2024-07-10 14:29:53 -04:00
Kyrylo Kireiev
53174178f3 feat: [FC-0047] Extend mobile API with course progress and primary courses on dashboard view (#34848)
* feat: [AXM-24] Update structure for course enrollments API (#2515)
---------
Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>

* feat: [AXM-53] add assertions for primary course (#2522)
---------
Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>

* feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (#2546)
---------
Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com>
Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>
Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-07-10 20:07:41 +05:00
Deborah Kaplan
7124559906 feat: updating readmes for program/cert/creds apps (#35104)
The LMS `certificates` app `README`  has been, and the
openedx core `credentials` and `programs` READMEs  have been created.
This will clarify not only what the limited responsibilities
of each of these django apps is, but also the way they interact with
each other.

FIXES: APER-2929
2024-07-10 10:34:16 -04:00
Brian Beggs
7568e91a76 feat: check for session existance before cache access. ENT-9187. 2024-07-08 18:02:17 -04:00
Attiya Ishaque
57dd2135a6 fix: update autogenerated username functionality (#35052) 2024-07-05 14:23:22 +05:00
Muhammad Adeel Tajamul
89a237bec1 fix: added https protocol in email unsubscribe url (#35087) 2024-07-04 16:29:22 +05:00
Muhammad Adeel Tajamul
a763fd80d2 feat: added email headers for notification cadence email (#35078) 2024-07-04 11:51:58 +05:00
Yusuf Musleh
c625a8d387 [FC-0059] feat: Add order query param to lib v2 API (#35005)
* feat: Add `order` query param to lib v2 API

* test: Add tests for lib v2 `order` field
2024-07-03 00:21:00 +09:30
Muhammad Abdullah Waheed
3aaf35e7ab chore: added app_name identifier for registration segment event (#35063) 2024-07-02 15:31:47 +05:00
Ahtisham Shahid
cc62389e70 fix: updated info logs to debug (#35050) 2024-07-02 14:09:01 +05:00
Kyle McCormick
12f63ddb55 refactor: extract save_xblock_to_user_clipboard Python API (#35027)
Previously, the logic for copying an XBlock's OLX to the clipboard
was directly in a POST view handler. This commit extracts it into a
Python API function.

In addition to following architectural guidelines [1], this change will
help me develop the Content Libraries Relaunch, as I need a way to
locally test library content reference via copy-paste while the UX for
it is still being developed.

[1] https://docs.openedx.org/projects/openedx-proposals/en/latest/best-practices/oep-0049-django-app-patterns.html
2024-07-01 15:43:29 +00:00
Muhammad Adeel Tajamul
98dfb12943 feat: added unsubsribe url for email notifications (#34967) 2024-06-28 11:22:09 +05:00
Ahtisham Shahid
15e2834825 chore: removed obsolete feature flags (#34942) 2024-06-27 13:58:54 +05:00
Deborah Kaplan
8c40057c10 feat: switching to celery native backoff for cert awarding (#35009)
* feat: switching to celery native backoff for cert awarding

Our homegrown backoff/retry was good enough for a while, but we ran into
a huge disabling event when too many changes were made simultaneously.
Since this code was first written, celery has built in good back
off/retry functionality, including jitter, to make sure that all the
retries don't happen simultaneously.

* Switches to using celery native backoff
* Refactors a huge try/catch block so the exception handling is on
  smaller subsets of code

FIXES: APER-3510

* feat: switching to celery native backoff for cert awarding

* Fixed the grammar in a couple of comments
* fixed a couple of lending errors

FIXES: APER-3510

* feat: limiting PII in logs per code review

per code review

FIXES: APER-3510

* feat: code review feedback

* removing some more PII from logs, even where it was not requested
* circuit breaker returned from grading attempt if course key is bad
* add missing tests for that functionality

FIXES: APER-3510

* feat:  improved logging

per code review, adding a log message explaining certificate mode
issues

FIXES: APER-3510

* feat:  fixing a bad string

lint error, and left off the format string modifier

FIXES: APER-3510

* feat: style

linter error

FIXES: APER-3510
2024-06-26 11:45:28 -04:00
Chris Chávez
4fd60c4536 feat: Create content in library permission added to API response (#34934) 2024-06-24 12:15:57 -07:00
Syed Sajjad Hussain Shah
5e3181ce61 Revert "feat: add register intent prop for login segement call (#34891)" (#35021)
This reverts commit a2aa6bd2db.
2024-06-24 12:58:31 +05:00
Asespinel
beb7aee2d3 feat: hide the survey report banner for a month after clicking the dismiss button (#34914)
This hides the survey report banner from the Django Admin for a
particular user for one month after they click on the "dismiss" button.
This is done completely on the client side using localStorage, so the
same user could see the banner again if they're logging in with a
different browser.
2024-06-19 10:22:25 -04:00
Feanil Patel
944e0588a2 Merge pull request #34811 from irtazaakram/bleach#33209
Replace deprecated bleach package
2024-06-13 10:17:31 -04:00
Justin Hynes
1e653d74e7 fix: remove broken management command (and celery task) logic (#34972)
[APER-3385]

This PR fixes an existing management command that now has incorrect logic. We have recently done a lot of work to
improve certificate-related date business logic to fix data inconsistencies between systems. Instead of maintaining
separate and duplicated logic for sending date data to Credentials, instead we can use an existing (and tested)
Celery task that will determine and send the correct date to the Credentials IDA.

Additionally, the original version of this management command skipped self-paced courses completely. This is no
longer the case as we _know_ that there are self-paced courses that have been associated with a certificate available
date because of bugs in the product. This management command will serve as a means to do a mass data fixup for data stored by the Credentials IDA.
2024-06-12 09:44:11 -04:00
Irtaza Akram
ceb19b3113 Merge branch 'master' into bleach#33209 2024-06-12 17:12:01 +05:00
Yusuf Musleh
221e333154 feat: Use default pagination class for v2 library views (#34879)
This ensures `num_pages` is included in paginated response.
2024-06-11 11:15:25 -07:00
Irtaza Akram
b8008a887d Merge branch 'master' into bleach#33209 2024-06-11 13:07:27 +05:00
Daniel Valenzuela
b98cbd4c2c feat: warn when relative dates are past due and can't be shifted 2024-06-10 22:55:16 +02:00
Tim McCormack
0eb61e28d1 feat: Start conversion of StaticContentServer from middleware into view (#34703)
See https://github.com/openedx/edx-platform/issues/34702

This necessarily involves switching from calling
`StaticContent.is_versioned_asset_path` to determine whether to handle the
request to having a hardcoded urlpattern. I've made the choice to hardcode
the other two patterns similarly rather than using imported constants. The
mapping of URL patterns to database records should be explicit (even though
we don't expect those constants to change out from under us.)

I've renamed the middleware rather than choosing a new name for the
implementation because there are other references in tests and other code.
This was the smaller change.

A note on HTTP methods: The middleware currently completely ignores the
request's HTTP method, so I wanted to confirm that only GETs were being
used in practice. This query reveals that 99.8% of requests that this
middleware handles are GET, with just a smattering of PROPFIND and OPTIONS
and a tiny number of HEAD and POST:
```
from Transaction select count(*) facet request.method
where name = 'WebTransaction/Function/openedx.core.djangoapps.contentserver.middleware:StaticContentServer'
since 4 weeks ago
```
2024-06-10 15:44:46 +00:00
Deborah Kaplan
68b052620a Merge branch 'master' into bleach#33209 2024-06-10 11:27:12 -04:00
Blue
e2e7524720 fix: change text of exisint email message (#34954)
Description:
Change text of existing email message
VAN-1939
2024-06-10 13:09:18 +05:00
Braden MacDonald
e1e3c87a95 fix: searching tag refinement was sometimes not working (#34933) 2024-06-07 09:30:05 +09:30
Braden MacDonald
6bfe08c147 fix: reindex_studio was crashing if instance had too many courses (#34905) 2024-06-07 09:29:01 +09:30
Blue
a2aa6bd2db feat: add register intent prop for login segement call (#34891)
Description:
Add register intent property for login successful segement call
VAN-1929
2024-06-04 18:43:22 +05:00
Feanil Patel
6b0789a255 Merge pull request #34857 from CodeWithEmad/chore/cleanup
chore: cleanup
2024-06-04 09:35:28 -04:00
sohailfatima
17f48adb49 feat: remove unnecessary PII 2024-06-04 12:08:52 +05:00
sohailfatima
582b41694f fix: failing password reset tests 2024-06-04 12:08:52 +05:00
sohailfatima
8e7a5f18c7 feat: added tracking events for password reset initiation 2024-06-04 12:08:52 +05:00
Emad Rad
8d68dd3192 Merge remote-tracking branch 'upstream/master' 2024-06-03 22:08:58 +03:30
Irtaza Akram
f7229e0aad chore: replace bleach with nh3 2024-05-28 13:02:16 +05:00
Saad Yousaf
63e940d65d fix: fix and optimize search for Course Notification Preference model on django admin 2024-05-27 14:37:46 +05:00
Emad Rad
4529041643 chore: cleanup
- rst heading definitions
- indirect hyperlinks and code-blocks for better readability
2024-05-25 18:08:25 +03:30
Emad Rad
c27d55a253 chore: typos fixed 2024-05-25 18:05:28 +03:30
Kyle McCormick
11626148d9 refactor: switch from mock to unittest.mock (#34844)
As of Python 3.3, the 3rd-party `mock` package has been subsumed into the
standard `unittest.mock` package. Refactoring tests to use the latter will
allow us to drop `mock` as a dependency, which is currently coming in
transitively through requirements/edx/paver.in.

We don't actually drop the `mock` dependency in this PR. That will happen
naturally in:

* https://github.com/openedx/edx-platform/pull/34830
2024-05-22 13:52:24 -04:00
David Ormsbee
be03938377 refactor: update to use Learning Core's new public API
This also bumps our openedx-learning dependency to 0.10.0 (the first
version with the new openedx_learning.api package).
2024-05-21 16:05:56 -04:00
Maria Grimaldi
9431e96d3c fix: add in-line docs correct namespace for content_groups_for_teams (#34783) 2024-05-20 14:50:17 -04:00
Maria Grimaldi
33b8137763 refactor: rename minimum partition ID constant to be more generic (#34529)
Rename MINIMUM_STATIC_PARTITION_ID to MINIMUM_UNUSED_PARTITION_ID
so it's not confusing when used to generate IDs for static or dynamic
partitions.
2024-05-20 14:38:58 -04:00