Commit Graph

14220 Commits

Author SHA1 Message Date
Rodrigo Martin
91acd3a26f feat: Update link styling (#36348) 2025-03-11 12:07:29 -03:00
Emad Rad
40a4a718c0 chore: fixed typo 2025-03-06 10:46:43 -05:00
Feanil Patel
f310c02aba build: Drop the whatwg-fetch polyfill.
This package polyfills the Fetch api but that API is now widely
available so I don't think we need this package anymore.
2025-03-05 08:58:35 -05:00
jawad khan
a84ad87f4b fix: Adjusted discussion notification context for mobile (#36304)
* fix: Adjusted discussion notification context for mobile
2025-03-03 10:44:47 +05:00
jawad khan
05890d25b6 feat: Add hide_after_due field in blocks api (#36284) 2025-02-28 12:36:04 +05:00
Ahtisham Shahid
b1efc9b609 fix: resolved allow enroll email issue (#36309) 2025-02-27 15:34:05 +05:00
Ahtisham Shahid
6d21b97a8b fix: user id in allow enroll email inconsistent (#36300) 2025-02-26 18:12:57 +05:00
Awais Qureshi
3ef635b584 feat!: upgrading add_users_to_cohorts api to DRF ( 33 ) (#35613)
* feat!: upgrading api to DRF.
2025-02-26 17:49:46 +05:00
Deborah Kaplan
ecf5aee297 feat: management command to purge information about web certificates (#36287)
for Open edX  operators who still have users with legacy PDF certificates, retirement requires first extracting information from the user's GeneratedCertificate record in order to delete the 4 associated files for each PDF certificate, and then removing the links to the relevant files.  this creates a management command to do that work.

After thinking about it, I have removed the update to `status` from this management command, as per the original specification of the ticket. I added it for completeness originally, but was already uncomfortable, because it's not exactly accurate. The `CertificateStatuses` enum does define a `deleted` status:

```
    deleted             - The PDF certificate has been deleted.
```

but I think it's inappropriate to use here.

#### Why not use `CertificateStatuses.deleted` in the first place

There are multiple places in the code where it's clear that almost all of the statuses are legacy and unused (eg. [Example 1](6c6fd84e53/lms/djangoapps/certificates/data.py (L12-L34)), [Example 2](1029de5537/common/djangoapps/student/helpers.py (L491-L492))). There are innumerable APIs in the system that have expectations about what might possibly be returned from a `GeneratedCertificate.status` object, and none of them is expecting `deleted`

#### Why not revoke the certificate

Ultimately, the certificate isn't revoked, which has a specific meaning around saying it was unearned. The certificate was earned; it has simply been deleted.  We should not be kicking off program certificate invalidation, because that's not what's happening. We should be trusting the normal user retirement process to remove/purge PII from any program certificates that might exist. The nature of web certificates simply means that we are going through this process outside of the normal retirement flow. The normal retirement flow can be trusted to implement any certificate object revocation/removal/PII-purging, and doing an extra step outside of that flow is counterproductive.

#### Why not robustly add a flow for `CertificateStatuses.deleted`

When PDF certificates were removed from the system, they weren't removed in their entirety. Instead, we have this vestigial remains of PDF certificates code, just enough to allow learners to display and use the ones that they already have, without any of the support systems for modifying them. Adding a `deleted` status, verifying that all other APIs wouldn't break in the presence of a certificate with that status, adding the signals to process and propagate the change: all of this would be adding more tech debt upon the already existing technical debt which is the PDF certs code. Better to simply add this one necessary data integrity change, and focus on a process which might allow us to eventually remove the web certificates code.

#### Why it is good enough to ignore the status

The original ask was simply to enforce data integrity: to remove links to files that have been deleted, as an indication that they've been deleted. I only added `status` update out of a (misplaced but well-intentioned) completionist urge.

FIXES: APER-3889
2025-02-21 14:43:04 -05:00
Ahtisham Shahid
b7a2ffaab8 fix: log only for allowed_enroll email (#36273) 2025-02-19 17:35:43 +05:00
Awais Qureshi
9f5fe30f54 feat!: upgrading get_proctored_exam_results api to DRF ( 32 ) (#35612)
* feat!: upgrading api to DRF
2025-02-19 15:12:39 +05:00
Eemaan Amir
4fe77b89a2 fix: fixed escaped characters in goal reminder email (#36260) 2025-02-18 12:52:11 +05:00
Awais Qureshi
cba02f5e81 feat!: upgrading api to DRF. (#35609) 2025-02-17 14:41:08 +05:00
Usama Sadiq
87a5611375 chore: update edx-proctoring package version (#36256)
* fix: fix tests with new version of edx-proctoring

* feat: Upgrade Python dependency edx-proctoring (#36255)

chore: update edx-proctoring version

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: UsamaSadiq <41958659+UsamaSadiq@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-17 14:37:09 +05:00
Syed Sajjad Hussain Shah
c05a3f394a feat: override refund_entitlement (#36248) 2025-02-17 10:55:06 +05:00
Ahtisham Shahid
15cacf9dd0 fix: log only for allowed_enroll email (#36254) 2025-02-14 14:48:02 +05:00
Ahtisham Shahid
c9dfb6edeb chore: added debug logs in instructor enrolment email (#36250) 2025-02-13 19:49:44 +05:00
Ahtisham Shahid
db0b5adc69 fix: resolved issues with ses impl in goal reminder email (#36233) 2025-02-12 11:33:25 +05:00
Deborah Kaplan
29de9b2dc4 feat!: Legacy account, profile, order history removal (#36219)
* feat!: Legacy account, profile, order history removal

This removes the legacy account and profile applications, and the order
history page. This is primarily a reapplication of #31893, which was
rolled back due to prior blockers.

FIXES: APER-3884
FIXES: openedx/public-engineering#71


Co-authored-by: Muhammad Abdullah Waheed <42172960+abdullahwaheed@users.noreply.github.com>
Co-authored-by: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com>
2025-02-10 14:39:13 -05:00
David Ormsbee
2c92c703d7 feat!: remove unused email_marketing app
Quoting the README:

> If you are reading this and the 'Maple' Open edX release is out, you
> can safely delete this whole djangoapp. It only exists to hold old
> model migrations and any post-Maple installation will no longer have
> any model in the database for this app.
>
> But for some minor historical context, this djangoapp used to hold
> some integration with sailthru that we no longer needed.

We've released Sumac. This is overdue.
2025-02-03 11:24:28 -05:00
Usama Sadiq
1a16073ad0 fix: enable pylint warnings (#36196) 2025-02-03 14:18:11 +05:00
Eemaan Amir
bda381c607 chore: added language to ace message sent event (#36155)
* chore: added language to ace message sent event

* fix: fixed lint errors

* chore: updated ace version
2025-01-31 16:57:38 +05:00
Feanil Patel
672ce2dcac Merge pull request #35500 from eduNEXT/and/filter_result_by_current_orgs
feat: filter by current site organizations
2025-01-30 11:54:16 -05:00
Usama Sadiq
b6828cecaa fix: enable pylint warnings (#36195)
* fix: enable pylint warnings
2025-01-30 17:15:33 +05:00
Deborah Kaplan
e7771d6526 fix: catch a possible exception in beta course configuration (#36172)
* fix: catch a possible exception in beta course configuration

when the learner is a beta tester, and the beta test has been set up with a large duration, the courseware djangoapp can return an overflow error on a timedelta call. In those circumstances, this defaults to returning an unmodified date.

FIXES: APER-3848
2025-01-27 13:59:02 -05:00
Ahtisham Shahid
46c7f6db52 fix: bypass edx ace for sending goal reminder email using ses (#36148) 2025-01-27 12:07:29 +05:00
andrey-canon
3eab7ea27f feat: add site-aware unit test 2025-01-23 18:23:49 -05:00
Marcos
67a56c270f chore: Moved jwt file to openedx.core.lib 2025-01-23 15:55:58 -03:00
Marcos
ca3cd45a79 chore: fix tests 2025-01-23 15:55:58 -03:00
Marcos
3bbf8aca7f chore: Run make compile-requirements to update dependencies 2025-01-23 15:55:58 -03:00
Marcos
3bcbcaac2d chore: Removed unused dependency 2025-01-23 15:55:58 -03:00
Marcos
825931a9b4 chore: Removed edx-token-utils dep and moved necessary logic to the repo 2025-01-23 15:55:58 -03:00
Agrendalath
8b7a771dc4 fix: remove incorrect key type when filtering inaccessible blocks
Returning the list with a 'completion' string was added in 9bc0f85. However,
the `get_accessible_sequences` method expects a list of dicts with an 'id' key.
2025-01-23 17:53:36 +05:30
David Ormsbee
c762c1f695 perf: update edx-when to 2.5.1 for performance fix
This addresses an issue where get_schedule_for_user was making an
excessive number of calls to the database.
2025-01-22 10:50:04 -05:00
andrey-canon
fd74df3857 feat: filter by current site organizations 2025-01-21 16:21:38 -05:00
irfanuddinahmad
f64a3a62c5 feat: Disabled MITx from program nudge emails 2025-01-15 14:17:27 +05:00
Muhammad Anas
5f302a3ae7 fix: date label for instructor paced courses 2025-01-14 18:30:16 +05:00
David Ormsbee
8409a7c023 refactor: remove course-specific logging code in grading.
This removes special logging for course course-v1:UQx+BUSLEAD5x+2T2019
as part of an edX investigation (EDUCATOR-4568 in their internal JIRA).
That issue was closed on 2021-01-08 by Mat Carter with the comment:

> Aged out, closing. If this issue continues, please create a new
> ticket optionally referencing this one.

(Note that Mat has since left edX/2U.)

The EDUCATOR-4602 ticket was created to track the cleanup of this
logging code.
2025-01-08 12:02:34 -05:00
Ahtisham Shahid
85ecad1aab chore: added verification logs in edx.ace.message_sent event (#36074) 2025-01-07 00:36:56 +05:00
Ahtisham Shahid
953140aa1b fix: resolved edx.course.goal.email.filtered parsing error (#36059) 2024-12-26 14:34:46 +05:00
jawad khan
76cceaa298 feat: Populate notification context with post, comment and response ids (#36008)
* feat: Populate notification context with post, comment and response ids
2024-12-20 15:23:47 +05:00
Ahtisham Shahid
e2a4b9e524 fix: updated goal reminder email time logger (#36045) 2024-12-18 15:38:05 +05:00
Awais Qureshi
53de406537 feat!: upgrade bulk_beta_modify_access to drf ( 30 ) (#35604)
* feat!: upgrading api to DRF.
2024-12-17 16:35:22 +05:00
Dima Alipov
c6dbb16736 fix: selection of users for sending email
Course team members are included in "Learners in the track"
emails recipients.
2024-12-12 15:03:36 +05:30
Ahtisham Shahid
d88fa76d52 chore: added logs for goal reminder email (#35958) 2024-12-12 13:25:47 +05:00
Régis Behmo
065adf398e feat: reapply forum v2 changes (#36002)
* feat: Reapply "Integrate Forum V2 into edx-platform"

This reverts commit 818aa343a2.

* feat: make it possible to globally disable forum v2 with setting

We introduce a setting that allows us to bypass any course waffle flag
check. The advantage of such a setting is that we don't need to find the
course ID: in some cases, we might not have access to the course ID, and
we need to look for it... in forum v2.

See discussion here: https://github.com/openedx/forum/issues/137

* chore: bump openedx-forum to 0.1.5

This should fix an issue with index creation on edX.org.
2024-12-12 12:18:33 +05:00
Diana Huang
818aa343a2 Revert "feat: Integrate Forum V2 into edx-platform"
This reverts commit 70b60ff256.
2024-12-06 11:19:06 -05:00
Muhammad Faraz Maqsood
70b60ff256 feat: Integrate Forum V2 into edx-platform
This commit introduces the new Forum V2 application, allowing users to choose between the legacy Forum V1 and the new Forum V2 at the course level.

Key Changes:
- Added waffle flag `discussions.enable_forum_v2` to enable Forum V2 for selected courses, allowing coexistence with Forum V1.
- Default data storage for Forum V2 is set to MongoDB, with an option to switch to MySQL using the waffle flag `forum_v2.enable_mysql_backend`.
- Introduced management command `forum_migrate_course_from_mongodb_to_mysql` for per-course data migration from MongoDB to MySQL.

Note: This PR does not include all unit tests for the Forum V2 native API due to ongoing migration efforts. Further updates will follow to ensure full test coverage before final release.

Co-authored-by: [Muhammad Faraz Maqsood] <faraz.maqsood@arbisoft.com>
Co-authored-by: [Ali Salman] <ali.salman@arbisoft.com>
2024-12-03 11:00:51 -05:00
Muhammad Farhan Khan
f9126bfdd9 Add Django settings flags to roll out the extracted XBlocks (#35549)
chore: Add Django settings flags to roll out the extracted XBlocks
2024-12-02 20:38:40 +05:00
Awais Qureshi
81d4239117 feat!: upgrade start_certificate_regeneration to drf ( 29 ) (#35599)
* feat!: upgrading api to DRF.
2024-12-02 17:08:01 +05:00