From c3a24c126ec82444a64a418e4cf086f69f296cff Mon Sep 17 00:00:00 2001 From: Andy Shultz Date: Fri, 20 Oct 2023 10:03:53 -0400 Subject: [PATCH 1/4] fix: rename update cache functions to what they are --- .../djangoapps/student/models/course_enrollment.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/common/djangoapps/student/models/course_enrollment.py b/common/djangoapps/student/models/course_enrollment.py index f44bd934ee..f4cd5dcc99 100644 --- a/common/djangoapps/student/models/course_enrollment.py +++ b/common/djangoapps/student/models/course_enrollment.py @@ -449,7 +449,7 @@ class CourseEnrollment(models.Model): if activation_changed or mode_changed: self.save() - self._update_enrollment_in_request_cache( + self._update_enrollment_state_in_request_cache( self.user, self.course_id, CourseEnrollmentState(self.mode, self.is_active), @@ -1337,7 +1337,7 @@ class CourseEnrollment(models.Model): enrollment_state = CourseEnrollmentState(record.mode, record.is_active) except cls.DoesNotExist: enrollment_state = CourseEnrollmentState(None, None) - cls._update_enrollment_in_request_cache(user, course_key, enrollment_state) + cls._update_enrollment_state_in_request_cache(user, course_key, enrollment_state) return enrollment_state @classmethod @@ -1354,7 +1354,7 @@ class CourseEnrollment(models.Model): cache = cls._get_mode_active_request_cache() # lint-amnesty, pylint: disable=redefined-outer-name for record in records: enrollment_state = CourseEnrollmentState(record.mode, record.is_active) - cls._update_enrollment(cache, record.user.id, course_key, enrollment_state) + cls._update_enrollment_state_in_cache(cache, record.user.id, course_key, enrollment_state) @classmethod def _get_mode_active_request_cache(cls): @@ -1372,15 +1372,16 @@ class CourseEnrollment(models.Model): return cls._get_mode_active_request_cache().get((user.id, course_key)) @classmethod - def _update_enrollment_in_request_cache(cls, user, course_key, enrollment_state): + def _update_enrollment_state_in_request_cache(cls, user, course_key, enrollment_state): """ Updates the cached value for the user's enrollment in the request cache. """ - cls._update_enrollment(cls._get_mode_active_request_cache(), user.id, course_key, enrollment_state) + cls._update_enrollment_state_in_cache(cls._get_mode_active_request_cache(), + user.id, course_key, enrollment_state) @classmethod - def _update_enrollment(cls, cache, user_id, course_key, enrollment_state): # lint-amnesty, pylint: disable=redefined-outer-name + def _update_enrollment_state_in_cache(cls, cache, user_id, course_key, enrollment_state): # lint-amnesty, pylint: disable=redefined-outer-name """ Updates the cached value for the user's enrollment in the given cache. From e9323737c38b558c5a5323840d48887c657c6fee Mon Sep 17 00:00:00 2001 From: Ahtisham Shahid Date: Mon, 23 Oct 2023 16:29:34 +0500 Subject: [PATCH 2/4] fix: updated , notification config name from filter to filters (#33557) --- openedx/core/djangoapps/notifications/base_notification.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openedx/core/djangoapps/notifications/base_notification.py b/openedx/core/djangoapps/notifications/base_notification.py index 5541b542f8..619dbb97a2 100644 --- a/openedx/core/djangoapps/notifications/base_notification.py +++ b/openedx/core/djangoapps/notifications/base_notification.py @@ -95,7 +95,7 @@ COURSE_NOTIFICATION_TYPES = { 'replier_name': 'replier name', }, 'email_template': '', - 'filter': [FILTER_AUDIT_EXPIRED] + 'filters': [FILTER_AUDIT_EXPIRED] }, 'comment_on_followed_post': { 'notification_app': 'discussion', @@ -111,7 +111,7 @@ COURSE_NOTIFICATION_TYPES = { 'replier_name': 'replier name', }, 'email_template': '', - 'filter': [FILTER_AUDIT_EXPIRED] + 'filters': [FILTER_AUDIT_EXPIRED] }, } From b917e627abd40540f63518b201870187f37f274b Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Thu, 19 Oct 2023 17:01:10 -0400 Subject: [PATCH 3/4] fix: Use Open edX as a noun on the default Open edX homepage --- lms/templates/index_overlay.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lms/templates/index_overlay.html b/lms/templates/index_overlay.html index 8a49adef32..f5c455ac07 100644 --- a/lms/templates/index_overlay.html +++ b/lms/templates/index_overlay.html @@ -6,5 +6,5 @@ from openedx.core.djangolib.markup import HTML, Text %>

${Text(_(u"Welcome to {platform_name}")).format(platform_name=settings.PLATFORM_NAME)}

-## Translators: 'Open edX' is a registered trademark, please keep this untranslated. See https://open.edx.org for more information. -

${Text(_("It works! Powered by Open edX{registered_trademark}")).format(registered_trademark=HTML("®"))}

+## Translators: 'Open edX' is a registered trademark, please keep this untranslated. See https://openedx.org for more information. +

${Text(_("It works! Powered by the Open edX{registered_trademark} Platform")).format(registered_trademark=HTML("®"))}

From 08d66076365b94967df62bbe1a54dba58bac5124 Mon Sep 17 00:00:00 2001 From: Yusuf Musleh Date: Mon, 23 Oct 2023 21:07:46 +0300 Subject: [PATCH 4/4] feat: Add url that exposes taxonomy tags CRUD API (#33525) * feat: Add url that exposes taxonomy tags CRUD API Include `content_tagging` namespace for content_tagging urls in cms for `sub_tags_link` to work in multi-level taxonomy tags. * chore: Bump openedx-learning version --- cms/urls.py | 2 +- openedx/core/djangoapps/content_tagging/rest_api/v1/urls.py | 6 ++++++ requirements/constraints.txt | 2 +- requirements/edx/base.txt | 2 +- requirements/edx/development.txt | 2 +- requirements/edx/doc.txt | 2 +- requirements/edx/testing.txt | 2 +- 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/cms/urls.py b/cms/urls.py index a949c086ea..b353e095ea 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -339,7 +339,7 @@ urlpatterns += [ # Content tagging urlpatterns += [ - path('api/content_tagging/', include(('openedx.core.djangoapps.content_tagging.urls'))), + path('api/content_tagging/', include(('openedx.core.djangoapps.content_tagging.urls', 'content_tagging'))), ] # studio-content-api specific API docs (using drf-spectacular and openapi-v3) diff --git a/openedx/core/djangoapps/content_tagging/rest_api/v1/urls.py b/openedx/core/djangoapps/content_tagging/rest_api/v1/urls.py index 38bb0a9ac1..53addf281c 100644 --- a/openedx/core/djangoapps/content_tagging/rest_api/v1/urls.py +++ b/openedx/core/djangoapps/content_tagging/rest_api/v1/urls.py @@ -7,6 +7,7 @@ from rest_framework.routers import DefaultRouter from django.urls.conf import path, include from openedx_tagging.core.tagging.rest_api.v1 import ( + views as oel_tagging_views, views_import as oel_tagging_views_import, ) @@ -17,6 +18,11 @@ router.register("taxonomies", views.TaxonomyOrgView, basename="taxonomy") router.register("object_tags", views.ObjectTagOrgView, basename="object_tag") urlpatterns = [ + path( + "taxonomies//tags/", + oel_tagging_views.TaxonomyTagsView.as_view(), + name="taxonomy-tags", + ), path( "taxonomies/import/template.", oel_tagging_views_import.TemplateView.as_view(), diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 5e99182b7b..e2ff4c0045 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -121,7 +121,7 @@ libsass==0.10.0 click==8.1.6 # pinning this version to avoid updates while the library is being developed -openedx-learning==0.2.5 +openedx-learning==0.2.6 # lti-consumer-xblock 9.6.2 contains a breaking change that makes # existing custom parameter configurations unusable. diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 1c9d41bbd4..4674aa2105 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -785,7 +785,7 @@ openedx-filters==1.6.0 # via # -r requirements/edx/kernel.in # lti-consumer-xblock -openedx-learning==0.2.5 +openedx-learning==0.2.6 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/kernel.in diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index c21f8eb372..8e92575195 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1318,7 +1318,7 @@ openedx-filters==1.6.0 # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt # lti-consumer-xblock -openedx-learning==0.2.5 +openedx-learning==0.2.6 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/doc.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index fef17b68d5..f2491bceaf 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -925,7 +925,7 @@ openedx-filters==1.6.0 # via # -r requirements/edx/base.txt # lti-consumer-xblock -openedx-learning==0.2.5 +openedx-learning==0.2.6 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/base.txt diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 6e3d7266df..d3b2b39bed 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -992,7 +992,7 @@ openedx-filters==1.6.0 # via # -r requirements/edx/base.txt # lti-consumer-xblock -openedx-learning==0.2.5 +openedx-learning==0.2.6 # via # -c requirements/edx/../constraints.txt # -r requirements/edx/base.txt