Commit Graph

14038 Commits

Author SHA1 Message Date
Awais Qureshi
0a067ffa82 feat: upgrading simple api to drf compatible (4th api ) (#35135)
* feat: upgrading simple api to drf compatible.
2024-08-06 15:25:24 +05:00
Muhammad Anas
28ce713e9f feat: added custom setting attribute for gradebook freeze timedelta (#35189)
* feat: added custom setting attribute for gradebook freeze timedelta
2024-08-05 16:23:50 +05:00
Tim McCormack
0359d5204d fix: Prevent error page recursion (#35209)
We sometimes see rendering errors in the error page itself, which then
cause another attempt at rendering the error page. I'm not sure _exactly_
how the loop is occurring, but it looks something like this:

1. An error is raised in a view or middleware and is not caught by
   application code
2. Django catches the error and calls the registered uncaught error
   handler
3. Our handler tries to render an error page
4. The rendering code raises an error
5. GOTO 2 (until some sort of server limit is reached)

By catching all errors raised during error-page render and substituting in
a hardcoded string, we can reduce server resources, avoid logging massive
sequences of recursive stack traces, and still give the user *some*
indication that yes, there was a problem.

This should help address https://github.com/openedx/edx-platform/issues/35151

At least one of these rendering errors is known to be due to a translation
error. There's a separate issue for restoring translation quality so that
we avoid those issues in the future (https://github.com/openedx/openedx-translations/issues/549)
but in general we should catch all rendering errors, including unknown
ones.

Testing:

- In `lms/envs/devstack.py` change `DEBUG` to `False` to ensure that the
  usual error page is displayed (rather than the debug error page).
- Add line `1/0` to the top of the `student_dashboard` function in
 `common/djangoapps/student/views/dashboard.py` to make that view error.
- In `lms/templates/static_templates/server-error.html` replace
  `static.get_platform_name()` with `None * 7` to make the error template
  itself produce an error.
- Visit <http://localhost:18000/dashboard>.

Without the fix, the response takes 10 seconds and produces a 6 MB, 85k
line set of stack traces and the page displays "A server error occurred.
Please contact the administrator."

With the fix, the response takes less than a second and produces three
stack traces (one of which contains the error page's rendering error).
2024-07-31 17:36:08 +00:00
Awais Qureshi
39dd3c002b feat: converting existing api to drf base api. (#35039)
Adding generic permission class. Added standard authentication classes.
2024-07-30 13:18:49 +05:00
Feanil Patel
ff77964414 Merge commit from fork
fix: cohorts data can be private
2024-07-25 10:08:25 -04:00
jawad khan
b77b90a344 fix: Enable courseware access api for all types of course(expired, cl… (#35155)
* fix: Enable courseware access api for all types of course(expired, closed etc)
2024-07-24 01:40:41 +05:00
Juliana Kang
40ddfeb3b8 feat: Add override on percentage config to the First Purchase Discount (#35167)
REV-4098
2024-07-23 15:43:34 -04:00
Juliana Kang
a19697786f feat: Add First Purchase Discount override (#35143)
REV-4098
2024-07-22 14:01:07 -04:00
Muhammad Soban Javed
004cd29cf3 chore!: uprgade social-auth-app-django to version 5.4.1 (#35045)
* chore!: uprgade social-auth-app-django to version 5.4.1

* chore: add migration from social_django
2024-07-22 18:27:57 +05: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
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
jawad khan
3589d964cb feat: Added mobile api for course enrollment and other details. (#35100)
* feat: Added mobile api for course enrollment and other details.
2024-07-17 13:19:10 +05:00
Feanil Patel
8b1e6476cc Merge pull request #34344 from FatemeKhodayari/fix/course-progress-page-url-for-master
fix: course progress url based on whether the user has learning MFE enabled (for master)
2024-07-16 14:53:52 -04: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
Tim McCormack
9146ab29f7 test: Delete flaky test DeprecatedRestApiClientTest::test_tracking_context (#35094)
Deleted according to flaky test process:
https://2u-internal.atlassian.net/wiki/spaces/TE/pages/12812492/Flaky+Test+Process

Flaky test ticket: https://2u-internal.atlassian.net/browse/CR-6899

Failed multiple times with this error, but not consistently:

```
FAILED lms/djangoapps/commerce/tests/__init__.py::DeprecatedRestApiClientTest::test_tracking_context - requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ecommerce.example.com', port=443): Max retries exceeded with url: /api/v2/baskets/1/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f0708b91f50>: Failed to establish a new connection: [Errno -2] Name or service not known'))
```

Note that there is another test class with a name differing by only one
letter earlier in this file, `DeprecatedRestApiClientTests` (plural), with
a method with the same name. That one hasn't been failing.
2024-07-08 18:31:34 +00:00
Fateme Khodayari
a5359d2e23 fix: course progress url returned based on course_home_mfe_progress_tab_is_active 2024-06-28 15:58:15 +03:30
Ahtisham Shahid
15e2834825 chore: removed obsolete feature flags (#34942) 2024-06-27 13:58:54 +05:00
ayesha waris
3bc03b33ac fix: fixed permissions for voted (#34993)
* fix: fixed permissions for voted

* fix: fixed test cases
2024-06-26 15:55:48 +05:00
Nathan Sprenkle
deb5b0f038 feat: add filter to hook render of XBlock (#34865)
* Bumps openedx-filters to 1.9.0
* Adds filter to hook render of XBlock
* Disables a too-many-statements warning on render_xblock function
2024-06-25 11:17:20 -04:00
Isaac Lee
76fbcbe437 fix: also filter for show_dashboard for instructor (#34949)
* fix: also filter for show_dashboard for instructor

* temp: attempting to craft tests

* chore: lint

* test: fixed xblock tests
2024-06-18 15:13:01 -04:00
Deborah Kaplan
68b052620a Merge branch 'master' into bleach#33209 2024-06-10 11:27:12 -04:00
Juliana Kang
cb52915370 fix: Financial Assistance Letter extend time to award and styling edits (#34913)
REV-4066
2024-06-06 16:41:54 -04:00
Emad Rad
8d68dd3192 Merge remote-tracking branch 'upstream/master' 2024-06-03 22:08:58 +03:30
michaelroytman
f94a7f7f68 feat: send IDV approval email in approve_id_verifications management command
This commit modifies the approve_id_verifications management command to send an IDV approval email to learners. This ensures that learners are informed of approvals to their IDV attempts when performed using the management command. This more closely mirrors the way IDV approvals work when using an IDV vendor.
2024-05-30 15:03:44 -04:00
Irtaza Akram
f7229e0aad chore: replace bleach with nh3 2024-05-28 13:02:16 +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
Ivan Niedielnitsev
699614d892 feat: include units when calculating completion percentage (#34816)
This is an enhancement to the API used for the courseware navigation
sidebar.
2024-05-24 12:59:09 -04:00
Ahtisham Shahid
cb14a9261a feat: added new v2 for course config api (#34804) 2024-05-23 14:46:44 +05:00
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
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
Arslan Ashraf
9c485dddd6 fix: make lis_person_contact_email_primary matching case-insensitive 2024-05-17 20:21:32 +02:00
Glenn R. Martin
a9b14e8b16 fix: adding additional logging to commerce handle_refund_order 2024-05-17 11:21:59 -04:00
Justin Hynes
9fbc6e3bf4 feat: purge name from certificate records during user retirement (#34799)
[APER-3241]

This PR updates the retirement pipeline to purge learners' names from certificate records when their account is being retired.

It also introduces a new management command that can be used by Open edX operators to purge the leftover name data (PII data) from the `certificates_generatedcertificate` table. This is designed as a one-time use data fixup, as the retirement functionality should clean this moving forward.
2024-05-16 09:17:40 -04:00
Kyle McCormick
15caa9746f refactor: Completely remove Blockstore (#34739)
Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.

Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.

Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
2024-05-13 09:48:18 -04:00
Ahtisham Shahid
d3ffb3e882 fix: get topics for blocks with discussions enabled (#34732) 2024-05-13 16:50:37 +05:00
Feanil Patel
70f06867af Merge pull request #34424 from qasimgulzar/qasim/fix/34379
fix: Course blocks API with param return_type=list
2024-05-10 13:25:16 -04:00
Glib Glugovskiy
4599e45b2e feat: emit passing status updated events for badging (#34749)
Introduce emission of the COURSE_PASSING_STATUS_UPDATED as well as CCX_COURSE_PASSING_STATUS_UPDATED events, that are groundwork for the new Credly integration and the future badging initiative.

Product GH ticket for tracking - openedx/platform-roadmap#280
2024-05-09 11:52:36 -04:00
Glib Glugovskiy
c5d94d21bf docs: change default value for a toggle to correct doc (#34747) 2024-05-09 08:57:43 -03:00
jawad khan
67ccd702f5 feat: Added upgrade deadline in blocks api (#34750) 2024-05-09 12:19:50 +05:00
Troy Sankey
08323ccb18 Merge pull request #34686 from openedx/pwnage101/ENT-8766
fix: remove setting toggle which might be causing bug with future course redirects
2024-05-06 09:52:01 -07:00
Maria Grimaldi
b792222772 fix: add support to Group Configuration view for Teams partitions (#34643) 2024-05-06 11:46:02 -04:00
Ivan Niedielnitsev
333f1ff2c2 feat: [FC-0056] Add waffle flags for navigation and auxiliary (discussion and notification) sidebars (#34650)
Add waffle flags for navigation and auxiliary (discussion and notification) sidebars.
---------

Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>
Co-authored-by: Glib Glugovskiy <glugov1998@gmail.com>
Co-authored-by: Adolfo R. Brandes <arbrandes@arbrand.es>
2024-05-06 11:04:51 -03:00
Navin Karkera
8077719b8e fix: enroll users when added to a forum role (#32436) 2024-05-06 09:00:31 -04:00
Troy Sankey
2cb35cb24b fix: remove setting toggle which might be causing bug with future course redirects
We've long rolled out the
`COURSEWARE_COURSE_NOT_STARTED_ENTERPRISE_LEARNER_ERROR` setting toggle so
it should be safe to remove.

I'm completely at a loss as to why course access checks are not
returning the `course_not_started_enterprise_learner` error code when it
should, but it does in stage/local, so this PR is grasping at straws.

ENT-8766
2024-05-03 11:15:59 -07:00
qasim.gulzar
3f709bae3f fix: add parentheses to import 2024-05-02 11:53:49 +05:00
Saad Yousaf
45cd459dde feat: add flag for showing/hiding new discussion sidebar view on course home page. (#34561)
Co-authored-by: Saad Yousaf <saad.yousaf@A006-01048.local>
2024-04-29 12:57:49 +05:00
Navin Karkera
61b8961cdf fix: auto enroll users when added as staff (#32561)
The course team management section under Instructor > Membership tab
allows users to be added a role even if are not enrolled in the course.
This is behaviour does not match the help text displayed in the section.

This PR updates modify_access api to enrolls user if they are not enrolled
after adding them to a role as well as changes the help text to reflect
actual changes.
2024-04-26 13:16:32 -04:00