Commit Graph

66923 Commits

Author SHA1 Message Date
Awais Qureshi
be09d1cd18 fix: removing deprecated SHA1PasswordHasher from tests. (#36881) 2025-06-09 16:31:51 -04:00
Chris Chávez
a274db0912 feat: Send events when update containers [FC-0090] (#36866)
* Send `LIBRARY_CONTAINER_UPDATED` for containers that contains the updated unit/section when calling update_container
2025-06-09 11:09:16 -05:00
Kyle McCormick
0b48f2795a build: Restore .dockerignore to improve image build and caching (#36877)
edx-platform's Dockerfile was removed in Jan 2025 because the
community was not maintaining or using it. The PR that removed it [1]
also removed the .dockerfile as an effort to clean up unnecessary
Docker-related files from the repo.

However, the .dockerignore file serves an important purpose for
*any* Docker image based on edx-platform: it identifies which files
and paths aren't relevant for the functioning of the image. For
example, Tutor greatly benefited from this file, because by ignoring
unnecessary files, the build context was shrunk and image cache
layers were less likely to be unnecesarily invalidated.

We restore the .dockerfile as it was previously in Sumac [2], with
the addition of /venv, /.venv, and __pycache__, and with the
removal of /Dockerfile (as it no longer exists).

[1] https://github.com/openedx/edx-platform/pull/35731
[2] https://github.com/openedx/edx-platform/blob/open-release/sumac.master/.dockerignore
2025-06-09 16:08:52 +00:00
Javier Ontiveros
89e3d189ca fix: strip end slash if any when using a subpath (#36870)
While trying to be enrolled on a verified course, the upgrade process
gets to an error screen due to a double slash on the URL that it's added
while doing the redirection to the account microfrontend

Will be backported to Teak.
Part of https://github.com/openedx/wg-build-test-release/issues/468
2025-06-09 15:12:08 +00:00
Kyle McCormick
29c1268d2b feat!: enable authoring MFE markdown editor waffle for everyone by default (#36872)
This adds a migration to turn on the new React-based Markdown editing option
for newly-created ProblemBlocks for all authors. The option is nested
under "Advanced settings", just like the Advanced (OLX) problem editor.

The migration is written such that it will *not* overwrite an existing global
"No" waffle flag. Furthermore, our waffle utilities are designed such that
org-level and course-level overrides will still take preference over the flag
that the migration creates. Therefore, this should only take effect in cases
where no existing waffle flag applies.

BREAKING CHANGE: Operators who do not want the new React-based Markdown editor
to be shown should create a flag contentstore.use_react_markdown_editor with
the value "No".

We plan to backport this to Teak.
Prior art for flipping waffles like this: 9b0024376a
Part of: https://github.com/openedx/platform-roadmap/issues/384

Co-authored-by: Muhammad Anas <muhammad.anas@arbisoft.com>
2025-06-09 10:58:04 -04:00
Talha Rizwan
b6cec3c67e Export ora2 data to drf (#36556)
* feat: export ora2 data to DRF
2025-06-05 10:37:55 -04: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
Usama Sadiq
e90bd04937 build: remove outdated dependency path (#36861) 2025-06-05 18:14:05 +05:00
Feanil Patel
a0e170f064 Merge pull request #36855 from openedx/repo-tools/upgrade-python-requirements-c080f96
chore: Upgrade Python requirements
2025-06-04 23:19:03 -04:00
Taylor Payne
3e83efa609 fix: exclude fields from UpstreamSyncMixin in advanced settings api (#36831)
The UpstreamSyncMixin introduced in [1] which is added as a XBlock mixin,
currently contains four fields - `upstream`, `upstream_version`,
`upstream_version_declined`, and `upstream_display_name`. These fields are
coming through in the course advanced settings API endpoint
(`/api/contentstore/v0/advanced_settings/{course_id}`), and subsequently show
up in the Advanced Settings view in the frontend-app-authoring MFE, which they
shouldn't.

This PR resolves this issue by adding the fields from the `UpstreamSyncMixin`
into the FIELDS_EXCLUDE_LIST [2] of the `CourseMetadata` class. Unless the API is
called with `fetch_all=1` (the authoring MFE uses `fetch_all=0`), then these
fields will be filtered out.

[1] https://github.com/openedx/edx-platform/blob/master/cms/lib/xblock/upstream_sync.py#L289
[2] https://github.com/openedx/edx-platform/blob/master/cms/djangoapps/models/settings/course_metadata.py#L41

Fixes: https://github.com/openedx/frontend-app-authoring/issues/2018
2025-06-04 13:38:30 -04:00
Jansen Kantor
f58c6f04fa fix: wrap sequence metadata view in bulk actions contextmanager (#36854)
* fix: wrap sequence metadata view in bulk actions contextmanager

* style: line too long
2025-06-04 16:52:09 +00:00
Feanil Patel
3d664b0ae8 Merge pull request #36609 from musanaeem/musa/admin-revamp-dropdowns
Single Select Autocomplete Added to Student Admin
2025-06-04 11:37:29 -04:00
Feanil Patel
a01f4b110c Merge pull request #36814 from wgu-taylor-payne/update-django-simple-history
chore: remove version constraint on django-simple-history
2025-06-04 11:12:04 -04:00
edX requirements bot
2c856bda46 chore: Upgrade Python requirements 2025-06-04 10:58:13 -04:00
Ahtisham Shahid
c080f96da2 fix: Updates task in topics sync API (#36853)
fix: Updates task in topics sync API
2025-06-04 08:30:48 +00:00
awais qureshi
30feea5bfd feat: implementing autocomplete for django admin pages. 2025-06-03 17:24:24 -04:00
awais qureshi
77f081286f feat: implementing autocomplete for django admin pages. 2025-06-03 17:24:24 -04:00
awais qureshi
89509ecc53 feat: implementing autocomplete for django admin pages. 2025-06-03 17:24:24 -04:00
awais qureshi
ec8c190ab0 feat: implementing autocomplete for django admin pages. 2025-06-03 17:24:24 -04:00
musanaeem
355eb1bc55 feat: added more tests 2025-06-03 17:24:24 -04:00
musanaeem
10e05f306b feat: added tests 2025-06-03 17:24:24 -04:00
musanaeem
8eed852a23 fix: save code and not name 2025-06-03 17:24:24 -04:00
musanaeem
7c6b3ae92c fix: removed redacted import 2025-06-03 17:24:24 -04:00
hinakhadim
a58b650f4f fix: add django-autocomplete-light package in kernel.in and make compile 2025-06-03 17:24:24 -04:00
musanaeem
d7eea9d37a fix: Remove complex change 2025-06-03 17:24:18 -04:00
musanaeem
13169fba86 fix: updated json conversion to add custom values 2025-06-03 17:24:12 -04:00
musanaeem
54509898b5 feat: added autocomplete to country field 2025-06-03 17:22:07 -04:00
musanaeem
2522bc6ff9 feat: Implemented single and multiselect autocomplete 2025-06-03 17:22:03 -04:00
Feanil Patel
755f757bc3 Merge pull request #36837 from openedx/repo-tools/upgrade-python-requirements-276e189
chore: Upgrade Python requirements
2025-06-03 13:59:55 -04:00
Feanil Patel
6f8eba4d87 build: Properly pin mypy based on django-stubs compatibility.
Django stubs by default doesn't pin mypy but has an extras that does
properly pin it to versions that are compatible.  For us it doesn't make
sense to not use this extra as we will always need a version of Mypy
that works with djnago-stubs.
2025-06-03 13:22:15 -04:00
jawad khan
98e39aa03d fix: Removed unwanted param to course blocks api
* fix: removed unwanted param to course blocks api
2025-06-03 16:43:54 +05:00
Muhammad Adeel Tajamul
50cac078e8 chore: added NOTIFICATION_DIGEST_LOGO url in cms (#36840) 2025-06-03 14:21:12 +05:00
Feanil Patel
67c0c255ea build: Don't lint the openedx/core/tests folder twice.
It was included in both the openedx-1 and openedx-2 lint suites.
2025-06-02 14:04:22 -04:00
Feanil Patel
49158e742c build: Move the pylint_django_settings plugin.
When it was located at the root of the project, it was sometimes not
getting loaded correctly since the root of the project is not a python
module, and producing the following error:

```
Command line or configuration file:1:0: E0013: Plugin 'pylint_django_settings' is impossible to load, is it installed ? ('No module named 'pylint_django_settings'') (bad-plugin-value)
```

This led all the pylint tests to fail.

This started happening more as we updated other dependencies via make
upgrade for some reason and led to inconsistent builds.  The move should
hopefully make the loading reliable and consistent.
2025-06-02 14:02:25 -04:00
Chris Chávez
2759d15cca feat: Support to sections/subsections dict to containers objects in index [FC-0090] (#36806)
- Adds the subsections dict in the search index to be used by units
- Adds the sections dict in the search index to be used by sections.
- Rename `get_containers_contains_component` to `get_containers_contains_item` and add support to subsections/sections 
- Call `CONTENT_OBJECT_ASSOCIATIONS_CHANGED` for sections and subsections in `update_container_children`
2025-06-02 12:41:07 -05:00
Feanil Patel
3433152d90 Merge pull request #36757 from openedx/umar/remove_edxapp_csrf_settings
chore: remove csrf with scheme settings from edxapp
2025-06-02 13:01:57 -04:00
M Umar Khan
a2eda30488 chore: remove csrf with scheme settings from edxapp
See https://github.com/edx/edx-arch-experiments/issues/460 for more
details.
2025-06-02 12:12:09 -04:00
Feanil Patel
a798f93ba6 Merge pull request #36570 from Talha-Rizwan/calculate_grades_csv-to-drf
feat: calculate grades csv to DRF
2025-06-02 12:09:28 -04:00
Feanil Patel
b68149c318 Merge pull request #36832 from openedx/feanil/geoip2-bot-update-country-database-ba3e635
Update GeoLite Database
2025-06-02 11:21:32 -04:00
Javier Ontiveros
800b8b69ed feat: add completion tracking switch to toggles sidebar api (#36795)
Currently when the ENABLE_COMPLETION_TRACKING_SWITCH waffle switch is disabled
the frontend doesn't take it into account and still displays completion for
anything that was already completed.

This PR adds the ENABLE_COMPLETION_TRACKING_SWITCH to sidebar toggles api so
the frontend can leverage it.
2025-06-02 11:14:47 -04:00
edX requirements bot
86ded1c552 chore: Upgrade Python requirements 2025-06-02 10:55:07 -04:00
feanil
75c13a99ab chore: geoip2: update maxmind geolite country database 2025-06-02 10:45:54 -04:00
Muhammad Adeel Tajamul
276e189003 chore: replaced tags in digest template (#36835) 2025-06-02 16:24:06 +05:00
KEVYN SUAREZ
ba3e635410 fix: use MFE-aware URL instead of legacy when generating block URL (#36526) 2025-05-30 17:33:42 +02:00
Taylor Payne
4f588231ee chore: remove version constraint on django-simple-history and update to 3.8.0
Remove pin on 3.4.0 to allow newer versions of the package.
2025-05-30 08:24:35 -06:00
KEVYN SUAREZ
cbf4638b10 fix: Certificates display signer information regardless of whether they have a signature image or not. (#36293) 2025-05-29 18:09:39 +02:00
Justin Hynes
3704811d21 feat: emit event when a celebration/streak is updated (#36801)
This PR adds a new event that is emit when a celebration/streak is being recorded. This event will allow better analytics around learner engagement in their courses for OeX instances that have the milestones celebration feature enabled.
2025-05-29 09:35:12 -04:00
Muhammad Adeel Tajamul
a9c78cd8f7 chore: modified notification digest email UI (#36809)
* chore: modified notification digest email UI

* chore: added icon in settings

* refactor: replaced CADENCE with DIGEST for logo variable
2025-05-29 17:52:28 +05:00
Kaustav Banerjee
aca3ba4fda test: add test for unprivileged user 2025-05-29 16:23:10 +05:30
Kaustav Banerjee
02344c5905 feat: API to delete given social auth record for user 2025-05-29 16:23:10 +05:30