diff --git a/.github/workflows/pr-automerge-open-release.yml b/.github/workflows/pr-automerge-open-release.yml deleted file mode 100644 index 25af91e052..0000000000 --- a/.github/workflows/pr-automerge-open-release.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Enable automerging for named release branches. -# See the reusable workflow for details: -# https://github.com/openedx/.github/.github/workflows/pr-automerge-open-release.yml - -name: Automerge BTR open-release PRs - -on: - issue_comment: - branches: - - open-release/* - types: - - created - - edited - pull_request_target: - branches: - - open-release/* - types: - - opened - - edited - - ready_for_review - -jobs: - automerge: - uses: openedx/.github/.github/workflows/pr-automerge-open-release.yml@master diff --git a/cms/djangoapps/contentstore/rest_api/v1/urls.py b/cms/djangoapps/contentstore/rest_api/v1/urls.py index 9c1bef0c90..d0ead20ffe 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/urls.py +++ b/cms/djangoapps/contentstore/rest_api/v1/urls.py @@ -23,7 +23,7 @@ from .views import ( app_name = 'v1' -VIDEO_ID_PATTERN = r'(?:(?P[-\w]+))' +VIDEO_ID_PATTERN = r'(?P[-\w]+)' urlpatterns = [ path( @@ -61,38 +61,6 @@ urlpatterns = [ CourseGradingView.as_view(), name="course_grading" ), - re_path( - fr'^xblock/{settings.COURSE_ID_PATTERN}/{settings.USAGE_KEY_PATTERN}?$', - xblock.XblockView.as_view(), name='studio_content' - ), - re_path( - fr'^file_assets/{settings.COURSE_ID_PATTERN}/{settings.ASSET_KEY_PATTERN}?$', - assets.AssetsView.as_view(), name='studio_content_assets' - ), - re_path( - fr'^videos/uploads/{settings.COURSE_ID_PATTERN}/{VIDEO_ID_PATTERN}?$', - videos.VideosView.as_view(), name='studio_content_videos_uploads' - ), - re_path( - fr'^videos/images/{settings.COURSE_ID_PATTERN}/{VIDEO_ID_PATTERN}$', - videos.VideoImagesView.as_view(), name='studio_content_videos_images' - ), - re_path( - fr'^videos/encodings/{settings.COURSE_ID_PATTERN}$', - videos.VideoEncodingsDownloadView.as_view(), name='studio_content_videos_encodings' - ), - path( - 'videos/features/', - videos.VideoFeaturesView.as_view(), name='studio_content_videos_features' - ), - re_path( - fr'^videos/upload_link/{settings.COURSE_ID_PATTERN}$', - videos.UploadLinkView.as_view(), name='studio_content_videos_upload_link' - ), - re_path( - fr'^video_transcripts/{settings.COURSE_ID_PATTERN}$', - transcripts.TranscriptView.as_view(), name='studio_content_video_transcripts' - ), path( 'help_urls', HelpUrlsView.as_view(), @@ -103,4 +71,46 @@ urlpatterns = [ CourseRerunView.as_view(), name="course_rerun" ), + + # CMS API + re_path( + fr'^file_assets/{settings.COURSE_ID_PATTERN}/$', + assets.AssetsCreateRetrieveView.as_view(), name='cms_api_create_retrieve_assets' + ), + re_path( + fr'^file_assets/{settings.COURSE_ID_PATTERN}/{settings.ASSET_KEY_PATTERN}$', + assets.AssetsUpdateDestroyView.as_view(), name='cms_api_update_destroy_assets' + ), + re_path( + fr'^videos/encodings/{settings.COURSE_ID_PATTERN}$', + videos.VideoEncodingsDownloadView.as_view(), name='cms_api_videos_encodings' + ), + path( + 'videos/features/', + videos.VideoFeaturesView.as_view(), name='cms_api_videos_features' + ), + re_path( + fr'^videos/images/{settings.COURSE_ID_PATTERN}/{VIDEO_ID_PATTERN}$', + videos.VideoImagesView.as_view(), name='cms_api_videos_images' + ), + re_path( + fr'^videos/uploads/{settings.COURSE_ID_PATTERN}/$', + videos.VideosCreateUploadView.as_view(), name='cms_api_create_videos_upload' + ), + re_path( + fr'^videos/uploads/{settings.COURSE_ID_PATTERN}/{VIDEO_ID_PATTERN}$', + videos.VideosUploadsView.as_view(), name='cms_api_videos_uploads' + ), + re_path( + fr'^video_transcripts/{settings.COURSE_ID_PATTERN}$', + transcripts.TranscriptView.as_view(), name='cms_api_video_transcripts' + ), + re_path( + fr'^xblock/{settings.COURSE_ID_PATTERN}/$', + xblock.XblockCreateView.as_view(), name='cms_api_create_xblock' + ), + re_path( + fr'^xblock/{settings.COURSE_ID_PATTERN}/{settings.USAGE_KEY_PATTERN}$', + xblock.XblockView.as_view(), name='cms_api_xblock' + ), ] diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/__init__.py b/cms/djangoapps/contentstore/rest_api/v1/views/__init__.py index dc5f1f77c3..2d0da478e5 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/__init__.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/__init__.py @@ -8,7 +8,13 @@ from .grading import CourseGradingView from .proctoring import ProctoredExamSettingsView, ProctoringErrorsView from .home import HomePageView from .settings import CourseSettingsView -from .xblock import XblockView -from .assets import AssetsView -from .videos import VideosView +from .xblock import XblockView, XblockCreateView +from .assets import AssetsCreateRetrieveView, AssetsUpdateDestroyView +from .videos import ( + VideosUploadsView, + VideosCreateUploadView, + VideoImagesView, + VideoEncodingsDownloadView, + VideoFeaturesView +) from .help_urls import HelpUrlsView diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/assets.py b/cms/djangoapps/contentstore/rest_api/v1/views/assets.py index 481d850ca8..1cc601dca9 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/assets.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/assets.py @@ -2,7 +2,7 @@ Public rest API endpoints for the CMS API Assets. """ import logging -from rest_framework.generics import RetrieveUpdateDestroyAPIView, CreateAPIView +from rest_framework.generics import CreateAPIView, RetrieveAPIView, UpdateAPIView, DestroyAPIView from django.views.decorators.csrf import csrf_exempt from django.http import Http404 @@ -24,7 +24,40 @@ toggles = contentstore_toggles @view_auth_classes() -class AssetsView(DeveloperErrorViewMixin, RetrieveUpdateDestroyAPIView, CreateAPIView): +class AssetsCreateRetrieveView(DeveloperErrorViewMixin, CreateAPIView, RetrieveAPIView): + """ + public rest API endpoints for the CMS API Assets. + course_key: required argument, needed to authorize course authors and identify the asset. + asset_key_string: required argument, needed to identify the asset. + """ + serializer_class = AssetSerializer + parser_classes = (JSONParser, MultiPartParser, FormParser, TypedFileUploadParser) + + def dispatch(self, request, *args, **kwargs): + # TODO: probably want to refactor this to a decorator. + """ + The dispatch method of a View class handles HTTP requests in general + and calls other methods to handle specific HTTP methods. + We use this to raise a 404 if the content api is disabled. + """ + if not toggles.use_studio_content_api(): + raise Http404 + return super().dispatch(request, *args, **kwargs) + + @csrf_exempt + @course_author_access_required + @validate_request_with_serializer + def create(self, request, course_key): # pylint: disable=arguments-differ + return handle_assets(request, course_key.html_id()) + + @course_author_access_required + @expect_json_in_class_view + def retrieve(self, request, course_key): # pylint: disable=arguments-differ + return handle_assets(request, course_key.html_id()) + + +@view_auth_classes() +class AssetsUpdateDestroyView(DeveloperErrorViewMixin, UpdateAPIView, DestroyAPIView): """ public rest API endpoints for the CMS API Assets. course_key: required argument, needed to authorize course authors and identify the asset. @@ -44,17 +77,6 @@ class AssetsView(DeveloperErrorViewMixin, RetrieveUpdateDestroyAPIView, CreateAP raise Http404 return super().dispatch(request, *args, **kwargs) - @course_author_access_required - @expect_json_in_class_view - def retrieve(self, request, course_key): # pylint: disable=arguments-differ - return handle_assets(request, course_key.html_id()) - - @csrf_exempt - @course_author_access_required - @validate_request_with_serializer - def create(self, request, course_key): # pylint: disable=arguments-differ - return handle_assets(request, course_key.html_id()) - @course_author_access_required @expect_json_in_class_view @validate_request_with_serializer diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_assets.py b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_assets.py index 61fa331d6c..0561a781c6 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_assets.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_assets.py @@ -44,7 +44,7 @@ class AssetsViewTestCase(AuthorizeStaffTestCase): def get_url(self, _course_id=None): return reverse( - "cms.djangoapps.contentstore:v1:studio_content_assets", + "cms.djangoapps.contentstore:v1:cms_api_update_destroy_assets", kwargs=self.get_url_params(), ) @@ -102,6 +102,12 @@ class AssetsViewGetTest(AssetsViewTestCase, ModuleStoreTestCase, APITestCase): def get_url_params(self): return {"course_id": self.get_course_key_string()} + def get_url(self, _course_id=None): + return reverse( + "cms.djangoapps.contentstore:v1:cms_api_create_retrieve_assets", + kwargs=self.get_url_params(), + ) + def get_test_data(self): return None @@ -148,6 +154,12 @@ class AssetsViewPostTest(AssetsViewTestCase, ModuleStoreTestCase, APITestCase): def get_url_params(self): return {"course_id": self.get_course_key_string()} + def get_url(self, _course_id=None): + return reverse( + "cms.djangoapps.contentstore:v1:cms_api_create_retrieve_assets", + kwargs=self.get_url_params(), + ) + def get_test_data(self): return { "file": mock_image, diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_xblock.py b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_xblock.py index 64462a6ee2..fe214c2f81 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_xblock.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/tests/test_xblock.py @@ -38,7 +38,7 @@ class XBlockViewTestCase(AuthorizeStaffTestCase): def get_url(self, _course_id=None): return reverse( - "cms.djangoapps.contentstore:v1:studio_content", + "cms.djangoapps.contentstore:v1:cms_api_xblock", kwargs=self.get_url_params(), ) @@ -140,7 +140,7 @@ class XBlockViewPostTest(XBlockViewTestCase, ModuleStoreTestCase, APITestCase): def get_url(self, _course_id=None): return reverse( - "cms.djangoapps.contentstore:v1:studio_content", + "cms.djangoapps.contentstore:v1:cms_api_create_xblock", kwargs=self.get_url_params(), ) diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/videos.py b/cms/djangoapps/contentstore/rest_api/v1/views/videos.py index 710dbb5df2..417490692f 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/videos.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/videos.py @@ -33,7 +33,7 @@ toggles = contentstore_toggles @view_auth_classes() -class VideosView(DeveloperErrorViewMixin, CreateAPIView, RetrieveAPIView, DestroyAPIView): +class VideosUploadsView(DeveloperErrorViewMixin, RetrieveAPIView, DestroyAPIView): """ public rest API endpoints for the CMS API video assets. course_key: required argument, needed to authorize course authors and identify the video. @@ -41,6 +41,35 @@ class VideosView(DeveloperErrorViewMixin, CreateAPIView, RetrieveAPIView, Destro """ serializer_class = VideoUploadSerializer + def dispatch(self, request, *args, **kwargs): + # TODO: probably want to refactor this to a decorator. + """ + The dispatch method of a View class handles HTTP requests in general + and calls other methods to handle specific HTTP methods. + We use this to raise a 404 if the content api is disabled. + """ + if not toggles.use_studio_content_api(): + raise Http404 + return super().dispatch(request, *args, **kwargs) + + @course_author_access_required + def retrieve(self, request, course_key, edx_video_id=None): # pylint: disable=arguments-differ + return handle_videos(request, course_key.html_id(), edx_video_id) + + @course_author_access_required + @expect_json_in_class_view + def destroy(self, request, course_key, edx_video_id): # pylint: disable=arguments-differ + return handle_videos(request, course_key.html_id(), edx_video_id) + + +@view_auth_classes() +class VideosCreateUploadView(DeveloperErrorViewMixin, CreateAPIView): + """ + public rest API endpoints for the CMS API video assets. + course_key: required argument, needed to authorize course authors and identify the video. + """ + serializer_class = VideoUploadSerializer + def dispatch(self, request, *args, **kwargs): # TODO: probably want to refactor this to a decorator. """ @@ -57,18 +86,8 @@ class VideosView(DeveloperErrorViewMixin, CreateAPIView, RetrieveAPIView, Destro @expect_json_in_class_view @validate_request_with_serializer def create(self, request, course_key): # pylint: disable=arguments-differ - """Deprecated. Use the upload_link endpoint instead.""" return handle_videos(request, course_key.html_id()) - @course_author_access_required - def retrieve(self, request, course_key, edx_video_id=None): # pylint: disable=arguments-differ - return handle_videos(request, course_key.html_id(), edx_video_id) - - @course_author_access_required - @expect_json_in_class_view - def destroy(self, request, course_key, edx_video_id): # pylint: disable=arguments-differ - return handle_videos(request, course_key.html_id(), edx_video_id) - @view_auth_classes() class VideoImagesView(DeveloperErrorViewMixin, CreateAPIView): @@ -143,29 +162,3 @@ class VideoFeaturesView(DeveloperErrorViewMixin, RetrieveAPIView): @csrf_exempt def retrieve(self, request): # pylint: disable=arguments-differ return enabled_video_features(request) - - -@view_auth_classes() -class UploadLinkView(DeveloperErrorViewMixin, CreateAPIView): - """ - public rest API endpoint providing a list of enabled video features. - """ - serializer_class = VideoUploadSerializer - - def dispatch(self, request, *args, **kwargs): - # TODO: probably want to refactor this to a decorator. - """ - The dispatch method of a View class handles HTTP requests in general - and calls other methods to handle specific HTTP methods. - We use this to raise a 404 if the content api is disabled. - """ - if not toggles.use_studio_content_api(): - raise Http404 - return super().dispatch(request, *args, **kwargs) - - @csrf_exempt - @course_author_access_required - @expect_json_in_class_view - @validate_request_with_serializer - def create(self, request, course_key): # pylint: disable=arguments-differ - return handle_videos(request, course_key.html_id()) diff --git a/cms/djangoapps/contentstore/rest_api/v1/views/xblock.py b/cms/djangoapps/contentstore/rest_api/v1/views/xblock.py index 0e5765d8a2..ffeceb0265 100644 --- a/cms/djangoapps/contentstore/rest_api/v1/views/xblock.py +++ b/cms/djangoapps/contentstore/rest_api/v1/views/xblock.py @@ -23,7 +23,7 @@ handle_xblock = view_handlers.handle_xblock @view_auth_classes() -class XblockView(DeveloperErrorViewMixin, RetrieveUpdateDestroyAPIView, CreateAPIView): +class XblockView(DeveloperErrorViewMixin, RetrieveUpdateDestroyAPIView): """ Public rest API endpoints for the CMS API. course_key: required argument, needed to authorize course authors. @@ -66,6 +66,29 @@ class XblockView(DeveloperErrorViewMixin, RetrieveUpdateDestroyAPIView, CreateAP def destroy(self, request, course_key, usage_key_string=None): return handle_xblock(request, usage_key_string) + +@view_auth_classes() +class XblockCreateView(DeveloperErrorViewMixin, CreateAPIView): + """ + Public rest API endpoints for the CMS API. + course_key: required argument, needed to authorize course authors. + usage_key_string (optional): + xblock identifier, for example in the form of "block-v1:+type@+block@" + """ + serializer_class = XblockSerializer + + def dispatch(self, request, *args, **kwargs): + # TODO: probably want to refactor this to a decorator. + """ + The dispatch method of a View class handles HTTP requests in general + and calls other methods to handle specific HTTP methods. + We use this to raise a 404 if the content api is disabled. + """ + if not toggles.use_studio_content_api(): + raise Http404 + return super().dispatch(request, *args, **kwargs) + + # pylint: disable=arguments-differ @csrf_exempt @course_author_access_required @expect_json_in_class_view diff --git a/conf/locale/ar/LC_MESSAGES/django.po b/conf/locale/ar/LC_MESSAGES/django.po index 1b50849b92..150f0b8043 100644 --- a/conf/locale/ar/LC_MESSAGES/django.po +++ b/conf/locale/ar/LC_MESSAGES/django.po @@ -7136,6 +7136,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "مالك" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9090,16 +9100,6 @@ msgid "" "to date." msgstr "لقد قمت بنقل جدول مساقك بنجاح والتقويم محدّث." -#: wiki/models/article.py -msgid "owner" -msgstr "مالك" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/ca/LC_MESSAGES/django.po b/conf/locale/ca/LC_MESSAGES/django.po index f3e40b6a47..418d0a02ab 100644 --- a/conf/locale/ca/LC_MESSAGES/django.po +++ b/conf/locale/ca/LC_MESSAGES/django.po @@ -6369,6 +6369,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "propietari" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8144,16 +8154,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "propietari" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/de_DE/LC_MESSAGES/django.po b/conf/locale/de_DE/LC_MESSAGES/django.po index 618f52d388..ce94b6980b 100644 --- a/conf/locale/de_DE/LC_MESSAGES/django.po +++ b/conf/locale/de_DE/LC_MESSAGES/django.po @@ -7087,6 +7087,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "Inhaber" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9092,16 +9102,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "Inhaber" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/el/LC_MESSAGES/django.po b/conf/locale/el/LC_MESSAGES/django.po index 6637c4de6f..f6ce1c8a49 100644 --- a/conf/locale/el/LC_MESSAGES/django.po +++ b/conf/locale/el/LC_MESSAGES/django.po @@ -6516,6 +6516,17 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: openedx/core/djangoapps/content_tagging/models/base.py +#: wiki/models/article.py +msgid "owner" +msgstr "" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8362,16 +8373,6 @@ msgid "" "to date." msgstr "" -#: openedx/features/content_tagging/models/base.py wiki/models/article.py -msgid "owner" -msgstr "" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/en/LC_MESSAGES/django.po b/conf/locale/en/LC_MESSAGES/django.po index b746467a6a..52f45b05ba 100644 --- a/conf/locale/en/LC_MESSAGES/django.po +++ b/conf/locale/en/LC_MESSAGES/django.po @@ -38,8 +38,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.303017\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.857987\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: en\n" @@ -6809,6 +6809,14 @@ msgstr "" msgid "Learner Pathways" msgstr "" +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification App" +msgstr "" + +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification Type" +msgstr "" + #: openedx/core/djangoapps/notifications/base_notification.py #, python-brace-format msgid "" diff --git a/conf/locale/en/LC_MESSAGES/djangojs.po b/conf/locale/en/LC_MESSAGES/djangojs.po index 8c7acf64fb..d0b2f6871c 100644 --- a/conf/locale/en/LC_MESSAGES/djangojs.po +++ b/conf/locale/en/LC_MESSAGES/djangojs.po @@ -32,8 +32,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.294880\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.819628\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: en\n" diff --git a/conf/locale/eo/LC_MESSAGES/django.mo b/conf/locale/eo/LC_MESSAGES/django.mo index cd2f6b7303..bacfc67180 100644 Binary files a/conf/locale/eo/LC_MESSAGES/django.mo and b/conf/locale/eo/LC_MESSAGES/django.mo differ diff --git a/conf/locale/eo/LC_MESSAGES/django.po b/conf/locale/eo/LC_MESSAGES/django.po index 459f71da15..1892fb2de7 100644 --- a/conf/locale/eo/LC_MESSAGES/django.po +++ b/conf/locale/eo/LC_MESSAGES/django.po @@ -38,8 +38,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.303017\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.857987\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: eo\n" @@ -8653,6 +8653,14 @@ msgstr "Bläçklïst {country} för {course} Ⱡ'σяєм ιρѕυм ∂σłσя msgid "Learner Pathways" msgstr "Léärnér Päthwäýs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification App" +msgstr "Nötïfïçätïön Àpp Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" + +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification Type" +msgstr "Nötïfïçätïön Týpé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" + #: openedx/core/djangoapps/notifications/base_notification.py #, python-brace-format msgid "" diff --git a/conf/locale/eo/LC_MESSAGES/djangojs.mo b/conf/locale/eo/LC_MESSAGES/djangojs.mo index a037d84d76..a0ae05bf43 100644 Binary files a/conf/locale/eo/LC_MESSAGES/djangojs.mo and b/conf/locale/eo/LC_MESSAGES/djangojs.mo differ diff --git a/conf/locale/eo/LC_MESSAGES/djangojs.po b/conf/locale/eo/LC_MESSAGES/djangojs.po index 981fb3c738..31d5461819 100644 --- a/conf/locale/eo/LC_MESSAGES/djangojs.po +++ b/conf/locale/eo/LC_MESSAGES/djangojs.po @@ -32,8 +32,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.294880\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.819628\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: eo\n" diff --git a/conf/locale/es_419/LC_MESSAGES/django.po b/conf/locale/es_419/LC_MESSAGES/django.po index 78a6156a7a..d5b34818ea 100644 --- a/conf/locale/es_419/LC_MESSAGES/django.po +++ b/conf/locale/es_419/LC_MESSAGES/django.po @@ -7466,6 +7466,19 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "Clave/ID de uso original de lo que está en el portapapeles." +#: openedx/core/djangoapps/content_tagging/models/base.py +#: wiki/models/article.py +msgid "owner" +msgstr "propietario" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" +"Organización relacionada con esta taxonomía. Si no hay ninguna, esta " +"taxonomía está relacionada con todas las organizaciones." + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9541,18 +9554,6 @@ msgstr "" "Has cambiado exitosamente el horario de tu curso y tu calendario está " "actualizado." -#: openedx/features/content_tagging/models/base.py wiki/models/article.py -msgid "owner" -msgstr "propietario" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" -"Organización relacionada con esta taxonomía. Si no hay ninguna, esta " -"taxonomía está relacionada con todas las organizaciones." - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/eu_ES/LC_MESSAGES/django.po b/conf/locale/eu_ES/LC_MESSAGES/django.po index 022886794f..3942a14866 100644 --- a/conf/locale/eu_ES/LC_MESSAGES/django.po +++ b/conf/locale/eu_ES/LC_MESSAGES/django.po @@ -6477,6 +6477,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "jabea" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8296,16 +8306,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "jabea" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/fa_IR/LC_MESSAGES/django.po b/conf/locale/fa_IR/LC_MESSAGES/django.po index 96738391ae..2458f76795 100644 --- a/conf/locale/fa_IR/LC_MESSAGES/django.po +++ b/conf/locale/fa_IR/LC_MESSAGES/django.po @@ -134,7 +134,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-03 20:43+0000\n" +"POT-Creation-Date: 2023-09-24 20:43+0000\n" "PO-Revision-Date: 2019-01-20 20:43+0000\n" "Last-Translator: Somaye Joolaee, 2022\n" "Language-Team: Persian (Iran) (https://app.transifex.com/open-edx/teams/6205/fa_IR/)\n" @@ -7068,6 +7068,19 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "استفاده اصلی کلید/شناسه از چیزی که در کلیپ بورد است." +#: openedx/core/djangoapps/content_tagging/models/base.py +#: wiki/models/article.py +msgid "owner" +msgstr "مالک" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" +"سازمانی که به این طبقه بندی مربوط می شود. اگر هیچ کدام، پس این طبقه بندی به " +"همه سازمان ها مربوط می شود." + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9077,18 +9090,6 @@ msgid "" msgstr "" "شما با موفقیت برنامۀ آموزشی خود را تغییر داده‌اید و تقویم شما روزآمد است." -#: openedx/features/content_tagging/models/base.py wiki/models/article.py -msgid "owner" -msgstr "مالک" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" -"سازمانی که به این طبقه بندی مربوط می شود. اگر هیچ کدام، پس این طبقه بندی به " -"همه سازمان ها مربوط می شود." - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/fr/LC_MESSAGES/django.po b/conf/locale/fr/LC_MESSAGES/django.po index 4278151bbf..5b339180ad 100644 --- a/conf/locale/fr/LC_MESSAGES/django.po +++ b/conf/locale/fr/LC_MESSAGES/django.po @@ -7473,6 +7473,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "propriétaire" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9528,16 +9538,6 @@ msgstr "" "Vous avez réussi à modifier votre horaire de cours et votre calendrier est à" " jour." -#: wiki/models/article.py -msgid "owner" -msgstr "propriétaire" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/id/LC_MESSAGES/django.po b/conf/locale/id/LC_MESSAGES/django.po index b83ecbae83..24719010aa 100644 --- a/conf/locale/id/LC_MESSAGES/django.po +++ b/conf/locale/id/LC_MESSAGES/django.po @@ -6705,6 +6705,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "pemilik" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8563,16 +8573,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "pemilik" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/it_IT/LC_MESSAGES/django.po b/conf/locale/it_IT/LC_MESSAGES/django.po index 7d693ff66c..ae49f47dda 100644 --- a/conf/locale/it_IT/LC_MESSAGES/django.po +++ b/conf/locale/it_IT/LC_MESSAGES/django.po @@ -7314,6 +7314,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "proprietario" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9359,16 +9369,6 @@ msgstr "" "Hai correttamente sposato il tuo programma del corso e il calendario è stato" " aggiornato." -#: wiki/models/article.py -msgid "owner" -msgstr "proprietario" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/ja_JP/LC_MESSAGES/django.po b/conf/locale/ja_JP/LC_MESSAGES/django.po index ed5767dc03..9f67617d19 100644 --- a/conf/locale/ja_JP/LC_MESSAGES/django.po +++ b/conf/locale/ja_JP/LC_MESSAGES/django.po @@ -6410,6 +6410,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "オーナー" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8212,16 +8222,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "オーナー" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/ka/LC_MESSAGES/django.po b/conf/locale/ka/LC_MESSAGES/django.po index 30851f8529..64c62625d1 100644 --- a/conf/locale/ka/LC_MESSAGES/django.po +++ b/conf/locale/ka/LC_MESSAGES/django.po @@ -6562,6 +6562,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "მფლობელი" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8415,16 +8425,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "მფლობელი" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/lt_LT/LC_MESSAGES/django.po b/conf/locale/lt_LT/LC_MESSAGES/django.po index feddb2b7f6..af46587ba2 100644 --- a/conf/locale/lt_LT/LC_MESSAGES/django.po +++ b/conf/locale/lt_LT/LC_MESSAGES/django.po @@ -6333,6 +6333,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "savininkas" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8094,16 +8104,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "savininkas" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/lv/LC_MESSAGES/django.po b/conf/locale/lv/LC_MESSAGES/django.po index 7975d7c8d1..20725bde01 100644 --- a/conf/locale/lv/LC_MESSAGES/django.po +++ b/conf/locale/lv/LC_MESSAGES/django.po @@ -6699,6 +6699,17 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: openedx/core/djangoapps/content_tagging/models/base.py +#: wiki/models/article.py +msgid "owner" +msgstr "" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8603,16 +8614,6 @@ msgid "" "to date." msgstr "" -#: openedx/features/content_tagging/models/base.py wiki/models/article.py -msgid "owner" -msgstr "" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/mn/LC_MESSAGES/django.po b/conf/locale/mn/LC_MESSAGES/django.po index e7ad5f189e..562c794239 100644 --- a/conf/locale/mn/LC_MESSAGES/django.po +++ b/conf/locale/mn/LC_MESSAGES/django.po @@ -6391,6 +6391,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "эзэмшигч" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8182,16 +8192,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "эзэмшигч" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/pl/LC_MESSAGES/django.po b/conf/locale/pl/LC_MESSAGES/django.po index 63d7c1340e..da1f4536ac 100644 --- a/conf/locale/pl/LC_MESSAGES/django.po +++ b/conf/locale/pl/LC_MESSAGES/django.po @@ -6824,6 +6824,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "właściciel" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8695,16 +8705,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "właściciel" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/pt_PT/LC_MESSAGES/django.po b/conf/locale/pt_PT/LC_MESSAGES/django.po index 036bfa2f70..e6fe1acdb8 100644 --- a/conf/locale/pt_PT/LC_MESSAGES/django.po +++ b/conf/locale/pt_PT/LC_MESSAGES/django.po @@ -7279,6 +7279,16 @@ msgstr "" "Chave de utilização/ID original do objecto que se encontra na área de " "transferência." +#: wiki/models/article.py +msgid "owner" +msgstr "proprietário" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9317,16 +9327,6 @@ msgstr "" "Mudou com sucesso a sua programação de cursos e o seu calendário já se " "encontra atualizado." -#: wiki/models/article.py -msgid "owner" -msgstr "proprietário" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/rtl/LC_MESSAGES/django.mo b/conf/locale/rtl/LC_MESSAGES/django.mo index 3933c65090..8ad5d41434 100644 Binary files a/conf/locale/rtl/LC_MESSAGES/django.mo and b/conf/locale/rtl/LC_MESSAGES/django.mo differ diff --git a/conf/locale/rtl/LC_MESSAGES/django.po b/conf/locale/rtl/LC_MESSAGES/django.po index 1a218f7dc4..85b4e8a6f3 100644 --- a/conf/locale/rtl/LC_MESSAGES/django.po +++ b/conf/locale/rtl/LC_MESSAGES/django.po @@ -38,8 +38,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.303017\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.857987\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: rtl\n" @@ -7491,6 +7491,14 @@ msgstr "Ƀlɐɔʞlᴉsʇ {country} ɟøɹ {course}" msgid "Learner Pathways" msgstr "Łǝɐɹnǝɹ Ᵽɐʇɥʍɐʎs" +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification App" +msgstr "Nøʇᴉɟᴉɔɐʇᴉøn Ⱥdd" + +#: openedx/core/djangoapps/notifications/admin.py +msgid "Notification Type" +msgstr "Nøʇᴉɟᴉɔɐʇᴉøn Ŧʎdǝ" + #: openedx/core/djangoapps/notifications/base_notification.py #, python-brace-format msgid "" diff --git a/conf/locale/rtl/LC_MESSAGES/djangojs.mo b/conf/locale/rtl/LC_MESSAGES/djangojs.mo index d85f0d6e36..14aca7096c 100644 Binary files a/conf/locale/rtl/LC_MESSAGES/djangojs.mo and b/conf/locale/rtl/LC_MESSAGES/djangojs.mo differ diff --git a/conf/locale/rtl/LC_MESSAGES/djangojs.po b/conf/locale/rtl/LC_MESSAGES/djangojs.po index 76d9de1c11..280f56e60c 100644 --- a/conf/locale/rtl/LC_MESSAGES/djangojs.po +++ b/conf/locale/rtl/LC_MESSAGES/djangojs.po @@ -32,8 +32,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2023-09-24 20:36+0000\n" -"PO-Revision-Date: 2023-09-24 20:36:20.294880\n" +"POT-Creation-Date: 2023-10-01 20:36+0000\n" +"PO-Revision-Date: 2023-10-01 20:36:14.819628\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: rtl\n" diff --git a/conf/locale/sk/LC_MESSAGES/django.po b/conf/locale/sk/LC_MESSAGES/django.po index b161a52878..a782279aa1 100644 --- a/conf/locale/sk/LC_MESSAGES/django.po +++ b/conf/locale/sk/LC_MESSAGES/django.po @@ -6412,6 +6412,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "vlastník" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8207,16 +8217,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "vlastník" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/sw_KE/LC_MESSAGES/django.po b/conf/locale/sw_KE/LC_MESSAGES/django.po index e3ca02f5c6..1500e6b165 100644 --- a/conf/locale/sw_KE/LC_MESSAGES/django.po +++ b/conf/locale/sw_KE/LC_MESSAGES/django.po @@ -6442,6 +6442,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "mmiliki" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8274,16 +8284,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "mmiliki" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/th/LC_MESSAGES/django.po b/conf/locale/th/LC_MESSAGES/django.po index b33b18ec22..91bee06809 100644 --- a/conf/locale/th/LC_MESSAGES/django.po +++ b/conf/locale/th/LC_MESSAGES/django.po @@ -6271,6 +6271,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "เจ้าของ" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8032,16 +8042,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "เจ้าของ" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/tr_TR/LC_MESSAGES/django.po b/conf/locale/tr_TR/LC_MESSAGES/django.po index 2c437e3dec..99388c329a 100644 --- a/conf/locale/tr_TR/LC_MESSAGES/django.po +++ b/conf/locale/tr_TR/LC_MESSAGES/django.po @@ -7152,6 +7152,17 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: openedx/core/djangoapps/content_tagging/models/base.py +#: wiki/models/article.py +msgid "owner" +msgstr "sahip" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -9182,16 +9193,6 @@ msgid "" "to date." msgstr "Ders programınızı başarıyla değiştirdiniz ve takviminiz güncel. " -#: openedx/features/content_tagging/models/base.py wiki/models/article.py -msgid "owner" -msgstr "sahip" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/uk/LC_MESSAGES/django.po b/conf/locale/uk/LC_MESSAGES/django.po index 2c79148d22..9df1d2c5ea 100644 --- a/conf/locale/uk/LC_MESSAGES/django.po +++ b/conf/locale/uk/LC_MESSAGES/django.po @@ -6874,6 +6874,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "власник" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8783,16 +8793,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "власник" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py msgid "Enabled As Of" diff --git a/conf/locale/vi/LC_MESSAGES/django.po b/conf/locale/vi/LC_MESSAGES/django.po index 891d04238c..6b2785be79 100644 --- a/conf/locale/vi/LC_MESSAGES/django.po +++ b/conf/locale/vi/LC_MESSAGES/django.po @@ -6350,6 +6350,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "chủ sở hữu" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8109,16 +8119,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "chủ sở hữu" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/zh_CN/LC_MESSAGES/django.po b/conf/locale/zh_CN/LC_MESSAGES/django.po index b13d26e137..5727a7015a 100644 --- a/conf/locale/zh_CN/LC_MESSAGES/django.po +++ b/conf/locale/zh_CN/LC_MESSAGES/django.po @@ -6797,6 +6797,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "所有者" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8633,16 +8643,6 @@ msgid "" "to date." msgstr "您已成功更改课程安排,并且您的日历是最新的。" -#: wiki/models/article.py -msgid "owner" -msgstr "所有者" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/zh_HANS/LC_MESSAGES/django.po b/conf/locale/zh_HANS/LC_MESSAGES/django.po index b13d26e137..5727a7015a 100644 --- a/conf/locale/zh_HANS/LC_MESSAGES/django.po +++ b/conf/locale/zh_HANS/LC_MESSAGES/django.po @@ -6797,6 +6797,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "所有者" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8633,16 +8643,6 @@ msgid "" "to date." msgstr "您已成功更改课程安排,并且您的日历是最新的。" -#: wiki/models/article.py -msgid "owner" -msgstr "所有者" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/conf/locale/zh_TW/LC_MESSAGES/django.po b/conf/locale/zh_TW/LC_MESSAGES/django.po index d2bee32b49..43c41e5e9c 100644 --- a/conf/locale/zh_TW/LC_MESSAGES/django.po +++ b/conf/locale/zh_TW/LC_MESSAGES/django.po @@ -6436,6 +6436,16 @@ msgstr "" msgid "Original usage key/ID of the thing that is in the clipboard." msgstr "" +#: wiki/models/article.py +msgid "owner" +msgstr "擁有者" + +#: openedx/core/djangoapps/content_tagging/models/base.py +msgid "" +"Organization that is related to this taxonomy.If None, then this taxonomy is" +" related to all organizations." +msgstr "" + #: openedx/core/djangoapps/cors_csrf/models.py msgid "" "List of domains that are allowed to make cross-domain requests to this site." @@ -8226,16 +8236,6 @@ msgid "" "to date." msgstr "" -#: wiki/models/article.py -msgid "owner" -msgstr "擁有者" - -#: openedx/features/content_tagging/models/base.py -msgid "" -"Organization that is related to this taxonomy.If None, then this taxonomy is" -" related to all organizations." -msgstr "" - #: openedx/features/content_type_gating/models.py #: openedx/features/course_duration_limits/models.py #: lms/templates/support/feature_based_enrollments.html diff --git a/docs/concepts/testing/testing.rst b/docs/concepts/testing/testing.rst index bf02801325..1297b0ee3b 100644 --- a/docs/concepts/testing/testing.rst +++ b/docs/concepts/testing/testing.rst @@ -83,19 +83,8 @@ Test Locations Running Tests ============= -You can run all of the unit-level tests using this command:: +**Unless otherwise mentioned, all the following commands should be run from inside the lms docker container.** - paver test - -This includes python, JavaScript, and documentation tests. - -Note - -`paver` is a scripting tool. To get information about various options, you can run the this command:: - - paver -h - -Note - -Unless otherwise mentioned, all the following commands should be run from inside lms docker container. Running Python Unit tests ------------------------- @@ -107,8 +96,8 @@ Pytest (and all of the plugins we use with it) has a lot of options. Use `pytest .. _pytest: https://pytest.org/ -Running a Single Test -~~~~~~~~~~~~~~~~~~~~~ +Running Python Test Subsets +~~~~~~~~~~~~~~~~~~~~~~~~~~~ When developing tests, it is often helpful to be able to really just run one single test without the overhead of PIP installs, UX builds, etc. diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index d32dbf93e7..8b7d83aceb 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -516,7 +516,7 @@ edx-proctoring==4.16.1 # via # -r requirements/edx/kernel.in # edx-proctoring-proctortrack -edx-proctoring-proctortrack==1.0.5 +edx-proctoring-proctortrack==1.2.1 # via -r requirements/edx/kernel.in edx-rbac==1.8.0 # via edx-enterprise diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 00ec41c6f3..a24ee36e9b 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -801,7 +801,7 @@ edx-proctoring==4.16.1 # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt # edx-proctoring-proctortrack -edx-proctoring-proctortrack==1.0.5 +edx-proctoring-proctortrack==1.2.1 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index e16de083a3..90293ebd9e 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -593,7 +593,7 @@ edx-proctoring==4.16.1 # via # -r requirements/edx/base.txt # edx-proctoring-proctortrack -edx-proctoring-proctortrack==1.0.5 +edx-proctoring-proctortrack==1.2.1 # via -r requirements/edx/base.txt edx-rbac==1.8.0 # via diff --git a/requirements/edx/kernel.in b/requirements/edx/kernel.in index dd3403655d..fb0307ba43 100644 --- a/requirements/edx/kernel.in +++ b/requirements/edx/kernel.in @@ -81,7 +81,7 @@ edx-name-affirmation edx-opaque-keys edx-organizations edx-proctoring>=2.0.1 -edx-proctoring-proctortrack==1.0.5 # Intentionally and permanently pinned to ensure code changes are reviewed +edx-proctoring-proctortrack==1.2.1 # Intentionally and permanently pinned to ensure code changes are reviewed edx-rest-api-client edx-search edx-submissions diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index cc2d43b5be..8cf809e83d 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -621,7 +621,7 @@ edx-proctoring==4.16.1 # via # -r requirements/edx/base.txt # edx-proctoring-proctortrack -edx-proctoring-proctortrack==1.0.5 +edx-proctoring-proctortrack==1.2.1 # via -r requirements/edx/base.txt edx-rbac==1.8.0 # via