970 Commits

Author SHA1 Message Date
Kira Miller
e7377d46f1 fix: add additional kwargs to USER_RETIRE_LMS (#38078) 2026-03-04 14:02:21 -07:00
Feanil Patel
8143796b26 docs: update references from setup.py to pyproject.toml
Update documentation, comments, and docstrings throughout the codebase
to reflect the migration from setup.py to pyproject.toml:

- Transformer class docstrings: changed to reference "entry point name
  in the package configuration" for better future-proofing
- Block structure module docs: updated to reference pyproject.toml
- Test file comments: updated entry point references
- Config files (tox.ini, pytest.ini): updated references
- Documentation (extension_points.rst, course apps ADRs): updated to
  reference pyproject.toml with inclusive language for external packages
- Requirements documentation (github.in): updated with inclusive language
- edxmako README: modernized install command to use pip install

Historical ADRs and references to external packages that may still use
setup.py were intentionally left unchanged or updated with inclusive
language acknowledging both pyproject.toml and setup.py.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-03 10:46:16 -05:00
Felipe Bermúdez-Mendoza
b367336d60 feat: make ACCOUNT_MICROFRONTEND_URL site aware. 2026-03-02 08:18:12 -05:00
Emad Rad
6a046ebe50 chore: fixed typos 2025-12-11 11:46:44 -05:00
Stanislav
82f574ec2c feat: Replace Twitter with X (#36524)
* feat: Replace Twitter with X


---------

Co-authored-by: Turchanikov Arsen <arsen.turchanikov@raccoongang.com>
2025-12-02 10:43:26 -05:00
Feanil Patel
7023d76e98 Merge pull request #37289 from Stoorx/customizable-username-min-length
feat: Make `USERNAME_MIN_LENGTH` customizable
2025-11-19 15:34:04 -05:00
Feanil Patel
93bb80bd26 Merge pull request #37385 from openedx/feanil/drop_name_affirmation
feat!: Drop edx-name-affirmation as a dependency.
2025-11-17 10:37:43 -05:00
edX requirements bot
baa948135d chore: Upgrade Python requirements (#37608) 2025-11-05 16:34:37 +00:00
Feanil Patel
86032c19a0 test: Remove tests that rely on edx-name-affirmation service being installed
The service is specific to 2U and should not be installed by default.  When we
try to patch objects from that library, that can only be done if the
original object is importable.  So those tests don't make sense to have
in the base system which you should be able to run without the
edx-name-affirmation library.
2025-10-30 14:31:06 -04:00
Tarun Tak
18d5abb2f6 chore: Replace pytz with zoneinfo for UTC handling - Part 1 (#37523)
First PR to replace pytz with zoneinfo for UTC handling across codebase.

This PR migrates all UTC timezone handling from pytz to Python’s standard
library zoneinfo. The pytz library is now deprecated, and its documentation
recommends using zoneinfo for all new code. This update modernizes our
codebase, removes legacy pytz usage, and ensures compatibility with
current best practices for timezone management in Python 3.9+. No functional
changes to timezone logic - just a direct replacement for UTC handling.

https://github.com/openedx/edx-platform/issues/33980
2025-10-28 16:23:22 -04:00
Deborah Kaplan
121fee3035 feat: display the reset toggles for a report (#37556)
One retirement partner status report admin toggle has  being renamed,
and another has been added. This PR displays them on the appropriate
django admin page.
2025-10-27 17:25:38 +00:00
Deborah Kaplan
3dc96a97e9 feat: allows a reversion of the retirement partner report reset toggle (#37539)
* feat: allows a reversion of the  retirement partner report reset toggle

This allows you to set retirement partner report statuses to True as well as to False. One sample use case: if an overly large number of retirement partner reports have their status reset to false, the partner report queue can struggle to deal with the large queue.

FIXES: APER-4177
2025-10-24 17:07:40 +00:00
Muhammad Adeel Tajamul
51a254a45c feat: added feature to rate limit secondary email change (#37356) 2025-09-15 13:45:46 +05:00
stoorx
faf888da3d feat: Make USERNAME_MIN_LENGTH customizable 2025-09-12 21:13:21 +03:00
Muhammad Adeel Tajamul
1a081f23c0 feat: added configurable param to rate limit email change in account settings (#37349) 2025-09-12 18:21:10 +05:00
Ram Chandra Bhavirisetty
42afa1bb62 chore: remove deprecated DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings (#37002) 2025-09-05 17:52:33 -04:00
Mubbshar Anwar
b52e72f6e0 fix: fix timezone utc for 52 (#37199)
The django.utils.timezone.utc is removed in Django 5.1.

issue: 37151
2025-08-13 17:46:17 +05:00
Mubbshar Anwar
6d150acf81 refactor: Remove HIBP settings from CMS (#36998)
Remove HIBP settings from CMS common settings module
2025-07-31 09:43:36 -04:00
Deborah Kaplan
e3d3eedd8b feat: fixing swagger doc for user accounts (#37043)
* feat:  fixing swagger doc for user accounts

user API docstrings reformatted so that the generated openAPI
documentation automatically picks up the documentation and formatted
correctly.

Still some work to do,  since these endpoints don't use serializers and
we should use  drg_yasg Schema declarations to make the generated
openAPI correctly understand the request and response formats, but this
is already a big improvement.

Fixed some restructured text markup

FIXES: APER-4065
2025-07-18 16:31:25 -04:00
Maria Grimaldi
31ef780365 fix: redirect to account MFE when using any legacy account URL (#36894)
* fix: redirect to account MFE when using any legacy account URL

Redirect to the account MFE URL configured each time a legacy
account URL like http(s)://lms/account/ or http(s)://lms/account/settings
is used to avoid 404 errors while linking SSO accounts or simply
trying to access the account view via URLs.
2025-06-18 15:44:19 +02:00
Eemaan Amir
0a7d894981 feat: removed age restriction on profile image upload (#36857)
* feat: removed age restriction on profile image upload

* test: updated test files

* test: updated test files

* fix: fixed lint issues

* test: updated test files

* fix: fixed lint issues
2025-06-12 10:56:46 +05:00
Awais Qureshi
291c5c3a44 feat!: upgrade code and fix get_storage_class ( compatibility django42 and django52) (#36628)
* feat!: upgrade codebase for compatibility with Django 4.2 and 5.2.
2025-06-05 10:11:07 -04:00
Muhammad Adeel Tajamul
6a67719592 feat: make notification emails translatable (#36775)
* feat: make notification emails translatable

* fix: fixed failing tests

* fix: fixed xss quality check
2025-05-26 13:44:01 +05:00
Eemaan Amir
841efcc9fb feat: update user segment attribute is_disabled when user is disabled/enabled (#36681) 2025-05-09 19:35:16 +05:00
Feanil Patel
8cab446f69 test: Make pytz api related tests more resilient.
Compare the output of our API with the library that backs them so that
we don't have brittle tests that need to be updated when the number of
timezones changes.
2025-04-23 14:29:50 -04:00
Feanil Patel
cdf26039e6 test: Remove reference to the courseware url.
The courseware URL is going away but it's just used here to test the
middleware.  That can be test with other urls that are relevant to this
middleware.

Note, I was unable to re-produce the failures so I've put back using the
standard `reverse` logic for fetching the URL in the test.
2025-04-04 14:01:19 -04:00
Feanil Patel
d423775012 test: Replace calls to reverse('courseware')
We want to remove this page and URL endpoint so we're removing all the
references in the code that might point to this page.  It was replaced
by the sequences page in the Learning MFE years ago but the old pages
were never cleaned up. We are replacing the calls with the URL for the
courseware in the learning MFE.

See https://github.com/openedx/edx-platform/issues/35803 for more
details.
2025-04-04 14:01:19 -04:00
sarina
1e3074a3f9 docs: Update edx.rtd.io links to docs.openedx.org 2025-04-02 12:10:56 -04:00
Hassan Raza
033bcda99d Hraza/add embargo restricted country (#36398)
* feat: add country disabling feature in embargo app

* revert: disabled countries list in env

* fix: resolved linter issues

---------

Co-authored-by: Hassan Raza <h.raza@192.168.1.12>
2025-03-19 12:22:45 +05:00
Ahtisham Shahid
e7100d813f Revert "feat: refactor country disable logic into the Embargo app (#36202)" (#36393)
This reverts commit 72959ad9d5.
2025-03-17 23:55:59 +05:00
Hassan Raza
72959ad9d5 feat: refactor country disable logic into the Embargo app (#36202)
* feat: add country disabling feature in embargo app

* revert: disabled countries list in env

* fix: resolved linter issues

---------

Co-authored-by: Hassan Raza <h.raza@192.168.1.12>
2025-03-17 16:07:18 +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
Usama Sadiq
b6828cecaa fix: enable pylint warnings (#36195)
* fix: enable pylint warnings
2025-01-30 17:15:33 +05:00
Irtaza Akram
68a626a938 fix: replace autodoc with autoapi (#35846) 2024-11-18 10:16:09 +05:00
Justin Hynes
7adecb4c6c feat!: remove skill_levels API (#35863)
Resolves issue #35302 (https://github.com/openedx/edx-platform/issues/35302).
2024-11-15 09:37:37 -05:00
Brian Mesick
e478975105 chore: Add missing PII annotations, update safelist
PII Annotations are very out of date, this commit adds most that were
missing in edx-platform, and some additional annotations to the
safelist. It is not comprehensive, several other upstream Open edX
packages also need to be updated. It also does not include removing
annotations that have been moved upstream, or been removed entirely.
Those are separate follow-on tasks.
2024-11-05 12:58:36 -05:00
Alison Langston
5043260bd6 feat: deprecate get_verification_details_by_id (#35560) 2024-09-30 11:30:46 -04:00
Feanil Patel
2a3a0c489d test: Update a test based on changes to pytz.
pytz dropped the Asia/Almaty timezone according to IANA

640c9bd426 (diff-16061815f611262054e469307ca063a4ef47e158a97784f1e91d254f074324bfR72)
2024-09-26 12:59:15 -04:00
Feanil Patel
ad78699605 test: Use the correct exception.
This test doesn't actually care about the type of the exception but use
the Requests exception that you're likely to get instead of the
edx-restapi-client/slumber one from before we dropped them.
2024-09-26 12:46:10 -04:00
Ahtisham Shahid
b50c42318c feat: added country disabling feature (#35451)
* feat: added country disabling feature
2024-09-25 14:40:08 +05:00
Deborah Kaplan
0f177e4666 feat: linting only (#35370)
Editing this file is going to cause a lot of automatic linting, so lint-only commit for nicer code review.
2024-08-26 10:20:03 -04:00
Deborah Kaplan
6071992281 feat: lint this file (#35348)
I'm about to make a bunch of changes to this file, and before I do I'm
saving it and letting the linter reformatted to our current code style
standards, so that code reviewers won't have to read a mix of lint and
code changes.

FIXES: APER-3554
2024-08-22 14:56:51 -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
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
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
Usama Sadiq
e91029202e feat: update django-countries (#34603)
* feat: Upgrade Python dependency django-countries (#34602)
---------
Co-authored-by: UsamaSadiq <UsamaSadiq@users.noreply.github.com>
2024-04-24 21:34:32 +05:00
Feanil Patel
9bd4474f7d test: Reduce query counts now that we dropped django-splash. 2024-04-18 12:43:33 -04:00
Taras Lytvynenko
14777af1d2 Lytvynenko/changed link parsing (#33565)
* fix:  Social link parsing approach changed

* feat: fix tests

* fix: tests

---------

Co-authored-by: Edward Zarecor <ezarecor@tcril.org>
2024-04-10 17:38:57 -04:00
Mubbshar Anwar
b6d89bcd59 fix: fir segment event (#34279)
fire segment event for PWNED_PASSWORD on registration page password validation

VAN-1830
2024-03-01 10:22:57 +05:00
salmannawaz
57b480b04f Update all edx-platform REST endpoints to support JWT Auth (#34152)
* chore: update API endpoints to support default JWT auth

The default DRF Auth classes were recently updated to allow for both JWT and Session auth by default. Any endpoint that overrides the AUTHENTICATION_CLASSES but has just session, just JWT or just both of those should be updated to remove the override.

Details in https://github.com/openedx/edx-platform/issues/33662
2024-02-13 10:46:58 -05:00