Commit Graph

6334 Commits

Author SHA1 Message Date
sundasnoreen12
2dd3df49c0 fix: fix spacing issue 2025-06-13 14:52:25 +05:00
sundasnoreen12
842e0d41f5 fix: removed hardcoded URLs 2025-06-13 12:45:45 +05:00
sundasnoreen12
3703333d9e test: fix test case 2025-06-13 12:45:36 +05:00
sundasnoreen12
6219c1768f feat: implemented self paced email UI 2025-06-13 12:45:36 +05:00
Arslan Ashraf
d6dbc4075c fix: generate IDV URL only if ACCOUNT_MICROFRONTEND_URL is available (#36898)
The api/courseware/course fails for all the verified enrollments if you
are not using Account MFE, which means that you probably won't set
ACCOUNT_MICROFRONTEND_URL in your settings/configurations.
So this PR adds a check safely try to do rstrip.

Fixes a bug in https://github.com/openedx/edx-platform/pull/36870
2025-06-12 12:13:37 -04:00
Muhammad Umar Khan
10a4d12b06 feat!: remove pyjwkest (#36707)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-06-12 14:30:32 +05: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
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
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
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
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
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
musanaeem
7c6b3ae92c fix: removed redacted import 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
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
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
Muhammad Adeel Tajamul
276e189003 chore: replaced tags in digest template (#36835) 2025-06-02 16:24:06 +05: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
Chris Chávez
c2eb913dcb feat: Basic CRUD support for sections/subsections as containers [FC-0090] (#36762)
- Refactor of `test_containers.py` 8b9731dfa1
- Updates the `content_libraries/api/containers` and `content_libraries/rest_api` to support:
    - Basic CRUD for sections and subsections as containers
    - Basic CRUD support for section and subsection children
- Updates the `content/search` to support:
    - Basic CRUD for sections and subsections as containers in the search index
    - Basic CRUD support for section and subsection children in the search index
- Updates the `content_libraries/tests/test_containers.py` to test the new support
- Updates the `content/search/tests` to test the new support.
- I verified that the add/remove to collection works without major changes. Tests updated
2025-05-28 21:05:45 +00:00
Tim McCormack
4856539b22 fix: Upgrade edx-django-utils, dropping newrelic; fix test and typo (#36799)
This upgrades edx-django-utils to a version that drops the newrelic
dependency. However, I also needed to fix a test that was sensitive to the
number of warnings that the code under test produced. With newrelic gone,
there's an additional warning.

- Fix test so that it isn't sensitive to unrelated warnings
- Fix typo in warning

For reference, this is the new warning:

```
"WARNING:edx_django_utils.monitoring.internal.backends:Could not load OPENEDX_TELEMETRY option 'edx_django_utils.monitoring.NewRelicBackend': Exception('Could not load New Relic monitoring backend; package not present.')"
```

This is expected due to edx-django-utils still defaulting to NR for
telemetry. (Perhaps the subject of a future breaking change.)
2025-05-27 11:32:43 -04:00
Ali-Salman29
c82490393d feat!: remove cs_comments_service support for forum's vote APIs
This will force the use of the new v2 forum's APIs for voting/unvoting.
2025-05-27 10:42:05 -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
Ali-Salman29
6f522f3992 feat!: remove cs_comments_service support for forum's flag APIs
This will force the use of the new v2 forum's APIs for flaging/unflaging.
2025-05-22 10:24:52 -04:00
Tim McCormack
6740e75c0f Merge commit from fork
Allow overriding but prevent download by default.

Also, extract `PYTHON_LIB_FILENAME` Django setting as a shared function
and document the setting.
2025-05-21 14:14:51 -04:00
Ahtisham Shahid
4d035ea3d4 feat: added API to sync discussions topics (#36529) 2025-05-20 20:18:14 +05:00
Muhammad Adeel Tajamul
4e55d72e75 feat: added immediate email notifications (#36749) 2025-05-20 17:15:26 +05:00
Chris Chávez
27c4ea44f2 feat: Add units dict to index [FC-0083] (#36650)
* Adds the units dict to the component search documents.
* Send CONTENT_OBJECT_ASSOCIATIONS_CHANGED signal when add/remove components in units.
2025-05-19 17:34:39 +00:00
Muhammad Abdullah Waheed
2d66047f7c feat: added support of multiple course ids in enrollment API and fixed failing case (#36700)
* feat: added support of multiple course ids in enrollment API and fixed failing case

* refactor: handled course IDs along with course run IDs

* refactor: added dosctring and renamed variable

* fix: added temp mixin

* test: added unit tests of added case
2025-05-14 17:22:48 +05:00
Chris Chávez
2ba9b7977f fix: Issues with get container children [FC-0083] (#36686)
* Fix published param to support strings
* Add published_display_name to children response
2025-05-12 09:44:41 -05:00
Usama Sadiq
956a28996a fix: refactor index_together to indexes for Django 5.2 support (#36693) 2025-05-12 11:46:47 +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
Braden MacDonald
2e91a05112 fix: Bugs with "Publish All Changes" in Library [FC-0083] (#36640)
* fix: "[created] received a naive datetime"
* fix: leaky "isolation" of events was causing test failures
* fix: make lib events more specific, emit them async, handle hierarchy correctly
* chore: bump openedx-events to 10.2.0 for new library PUBLISHED events
2025-05-08 11:57:07 -07:00
Feanil Patel
2d78390f02 chore: Upgrade type stubs and other related packages.
Upgrade typing related packages and update to ignore one new annotation
complaint and drop and older complaint that is no longer relevant.
2025-05-07 14:38:45 -04:00
Taimoor Ahmed
1bed70b73e feat!: remove cs_comments_service support for forums pin API
This will force the use of the new v2 forums API for pinning/unpinning.
2025-05-07 10:41:37 -04:00
Hassan Raza
588840aef5 fix: Resolve group by id max length issue (#36668) 2025-05-07 11:55:00 +05:00
Jillian
5b3caa93e2 feat: store content.child_usage_keys in Container search document [FC-0083] (#36528)
* feat: store content.child_usage_keys in Container search document
  Stores the draft children + published children (if applicable)

Related fixes:
* fix: lib_api.get_container does not take a "user" arg
* refactor: fetch_customizable_fields_from_container does not need a "user" arg
* refactor: moves tags_count into LibraryItem
   because anything that appears in a library may be tagged.
* refactor: remove get_container_from_key from public API
   API users must use get_container and ContainerMetadata.
* refactor: made set_library_item_collections take an entity_key string instead of
  a PublishableEntity instance, so we don't need to fetch a Container object to call it.
* refactor: changed ContainerLink.update_or_create to take the container PK
  instead of a Container object, since this is enough.
  Added container_pk to ContainerMetadata to support this.
2025-05-02 10:47:25 +09:30
Navin Karkera
c2d9e40be4 refactor: update sync model helper function docs and minor cleanup (#36599)
* refactor: update sync model helper function docs

Adds some comments to explain certain confusing sections

* refactor: sync library content method

* feat: use edited_on block field

* test: modified field in course block index

* fix: extract uncommon methods to child class from base
2025-04-30 13:40:52 -07:00
Muhammad Adeel Tajamul
cc4c2c35cf chore: added log in disable user policy (#36622) 2025-04-29 15:11:18 +05:00
Muhammad Adeel Tajamul
47a920d5b9 feat: added a policy to prevent sending ace messages to disabled users (#36584) 2025-04-29 11:29:33 +05:00
github-actions[bot]
725234815f feat: Upgrade Python dependency edx-enterprise (#36616)
* feat: Upgrade Python dependency edx-enterprise

fix: fixing enrollments bug in members endpoint

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

* fix: spelling fix to trigger tests

---------

Co-authored-by: kiram15 <31229189+kiram15@users.noreply.github.com>
Co-authored-by: Kira Miller <kira.miller15@yahoo.com>
2025-04-28 12:43:49 -06:00
Hassan Raza
1a28a2df3b fix: Get latest existing notification for grouping (#36614) 2025-04-28 20:10:00 +05:00
Hassan Raza
c87a3b721b chore: add temporary info log for notification grouping issue (#36600) 2025-04-25 13:15:12 +05:00
Hassan Raza
2d4defef2c fix: Add info for ORA notifications and fix for account preferences (#36571) 2025-04-25 11:33:02 +05:00
Navin Karkera
1cd73d1b96 feat: support for syncing units from libraries to courses (#36553)
* feat: library unit sync
* feat: create component link only for component xblocks
* feat: container link model
* feat: update downstream api views
* feat: delete extra components in container on sync (not working)
* fix: duplicate definitions of LibraryXBlockMetadata
* test: add a new integration test suite for syncing
* feat: partially implement container+child syncing
* fix: blockserializer wasn't always serializing all HTML block fields
* feat: handle reorder, addition and deletion of components in sync

Updates children components of unit in course based on upstream unit,
deletes removed component, adds new ones and updates order as per
upstream.

* feat: return unit upstreamInfo and disallow edits to units in courses that are sourced from a library (#773)
* feat: Add upstream_info to unit
* feat: disallow edits to units in courses that are sourced from a library (#774)

---------

Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>

* docs: capitalization of XBlock

Co-authored-by: David Ormsbee <dave@axim.org>

* refactor: (minor) change python property name to reflect type better

* fix: lots of "Tried to inspect a missing...upstream link" warnings

when viewing a unit in Studio

* docs: mention potential REST API for future refactor

* fix: check if upstream actually exists before making unit read-only

* chore: fix camel-case var

* fix: test failure when mocked XBlock doesn't have UpstreamSyncMixin

---------

Co-authored-by: Braden MacDonald <braden@opencraft.com>
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>
Co-authored-by: Braden MacDonald <mail@bradenm.com>
Co-authored-by: David Ormsbee <dave@axim.org>
2025-04-24 11:41:47 -07:00
Kyle McCormick
8e9f94424d feat!: Flip Studio MFE Waffle Flags to be On-By-Default (#36495)
This makes nearly all of Studio React-by-default by replacing the
"opt-in-to-React" flags with a set of parallel
"opt-out-of-React-and-use-the-legacy-experience" flags. Here is the
mapping:

* `contentstore.new_studio_mfe.use_new_unit_page` ->
  `!legacy_studio.unit_editor`
* `new_core_editors.use_new_problem_editor` ->
  `!legacy_studio.problem_editor`
* `new_core_editors.use_new_text_editor` ->
  `!legacy_studio.text_editor`
* `new_core_editors.use_new_video_editor` ->
  `!legacy_studio.video_editor`
* `new_studio_mfe.use_new_home_page` ->
  `!legacy_studio.home`
* `contentstore.new_studio_mfe.use_new_custom_pages` ->
  `!legacy_studio.custom_pages`
* `contentstore.new_studio_mfe.use_new_schedule_details_page` ->
  `!legacy_studio.schedule_details`
* `contentstore.new_studio_mfe.use_new_advanced_settings_page` ->
  `!legacy_studio.advanced_settings`
* `contentstore.new_studio_mfe.use_new_grading_page` ->
  `!legacy_studio.grading`
* `contentstore.new_studio_mfe.use_new_updates_page` ->
  `!legacy_studio.updates`
* `contentstore.new_studio_mfe.use_new_import_page` ->
  `!legacy_studio.import`
* `contentstore.new_studio_mfe.use_new_export_page` ->
  `!legacy_studio.export`
* `contentstore.new_studio_mfe.use_new_files_uploads_page` ->
  `!legacy_studio.files_uploads`
* `contentstore.new_studio_mfe.use_new_course_outline_page` ->
  `!legacy_studio.course_outline`
* `contentstore.new_studio_mfe.use_new_course_team_page` ->
  `!legacy_studio.course_team`
* `contentstore.new_studio_mfe.use_new_certificates_page` ->
  `!legacy_studio.certificates`
* `contentstore.new_studio_mfe.use_new_textbooks_page` ->
  `!legacy_studio.textbooks`
* `contentstore.new_studio_mfe.use_new_group_configurations_page` ->
  `!legacy_studio.configurations`

Part of: https://github.com/openedx/edx-platform/issues/36275
2025-04-24 12:34:35 -04:00
Muhammad Adeel Tajamul
254167feb6 feat: removed new notification view waffle flag (#36585) 2025-04-24 12:11:36 +05:00