From 679863c46cc7d79c81a2252ed940e36fb7026933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Thu, 12 Sep 2024 10:56:42 -0300 Subject: [PATCH 1/8] feat: return publishing information on get component endpoint --- .../core/djangoapps/content_libraries/api.py | 19 ++++++++++++++++++- .../content_libraries/serializers.py | 5 +++++ .../tests/test_content_libraries.py | 14 ++++++++++++-- .../tests/test_objecttag_export_helpers.py | 2 +- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/openedx/core/djangoapps/content_libraries/api.py b/openedx/core/djangoapps/content_libraries/api.py index 00110143456a..0448ee9cc6ac 100644 --- a/openedx/core/djangoapps/content_libraries/api.py +++ b/openedx/core/djangoapps/content_libraries/api.py @@ -218,8 +218,12 @@ class LibraryXBlockMetadata: modified = attr.ib(type=datetime) display_name = attr.ib("") last_published = attr.ib(default=None, type=datetime) + last_draft_created = attr.ib(default=None, type=datetime) + last_draft_created_by = attr.ib(default=None, type=datetime) + published_by = attr.ib("") has_unpublished_changes = attr.ib(False) tags_count = attr.ib(0) + created = attr.ib(default=None, type=datetime) @classmethod def from_component(cls, library_key, component): @@ -228,6 +232,16 @@ def from_component(cls, library_key, component): """ last_publish_log = component.versioning.last_publish_log + published_by = None + if last_publish_log and last_publish_log.published_by: + published_by = last_publish_log.published_by.username + + last_draft_log = authoring_api.get_entities_with_unpublished_changes(component.pk) \ + .order_by('-created').first() + last_draft_created = last_draft_log.created if last_draft_log else None + last_draft_created_by = \ + last_draft_log.created_by.username if last_draft_log and last_draft_log.created_by else None + return cls( usage_key=LibraryUsageLocatorV2( library_key, @@ -238,7 +252,10 @@ def from_component(cls, library_key, component): created=component.created, modified=component.versioning.draft.created, last_published=None if last_publish_log is None else last_publish_log.published_at, - has_unpublished_changes=component.versioning.has_unpublished_changes + published_by=published_by, + last_draft_created=last_draft_created, + last_draft_created_by=last_draft_created_by, + has_unpublished_changes=component.versioning.has_unpublished_changes, ) diff --git a/openedx/core/djangoapps/content_libraries/serializers.py b/openedx/core/djangoapps/content_libraries/serializers.py index 2062f96d93ae..e9e04646ace4 100644 --- a/openedx/core/djangoapps/content_libraries/serializers.py +++ b/openedx/core/djangoapps/content_libraries/serializers.py @@ -148,7 +148,12 @@ class LibraryXBlockMetadataSerializer(serializers.Serializer): block_type = serializers.CharField(source="usage_key.block_type") display_name = serializers.CharField(read_only=True) + last_published = serializers.DateTimeField(format=DATETIME_FORMAT, read_only=True) + published_by = serializers.CharField(read_only=True) + last_draft_created = serializers.DateTimeField(format=DATETIME_FORMAT, read_only=True) + last_draft_created_by = serializers.CharField(read_only=True) has_unpublished_changes = serializers.BooleanField(read_only=True) + created = serializers.DateTimeField(format=DATETIME_FORMAT, read_only=True) # When creating a new XBlock in a library, the slug becomes the ID part of # the definition key and usage key: diff --git a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py index 95b7309b3cd1..08f777c68e57 100644 --- a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py +++ b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py @@ -5,9 +5,11 @@ from unittest import skip import ddt +from datetime import datetime, timezone from uuid import uuid4 from django.contrib.auth.models import Group from django.test.client import Client +from freezegun import freeze_time from organizations.models import Organization from rest_framework.test import APITestCase @@ -287,10 +289,14 @@ def test_library_blocks(self): assert self._get_library(lib_id)['has_unpublished_changes'] is True # Publish the changes: - self._commit_library_changes(lib_id) + updated_date = datetime(2024, 6, 7, 8, 9, 10, tzinfo=timezone.utc) + with freeze_time(updated_date): + self._commit_library_changes(lib_id) assert self._get_library(lib_id)['has_unpublished_changes'] is False # And now the block information should also show that block has no unpublished changes: block_data["has_unpublished_changes"] = False + block_data["last_published"] = updated_date.isoformat().replace('+00:00', 'Z') + block_data["published_by"] = "Bob" self.assertDictContainsEntries(self._get_library_block(block_id), block_data) assert self._get_library_blocks(lib_id)['results'] == [block_data] @@ -372,10 +378,14 @@ def test_library_blocks_studio_view(self): assert self._get_library(lib_id)['has_unpublished_changes'] is True # Publish the changes: - self._commit_library_changes(lib_id) + updated_date = datetime(2024, 6, 7, 8, 9, 10, tzinfo=timezone.utc) + with freeze_time(updated_date): + self._commit_library_changes(lib_id) assert self._get_library(lib_id)['has_unpublished_changes'] is False # And now the block information should also show that block has no unpublished changes: block_data["has_unpublished_changes"] = False + block_data["last_published"] = updated_date.isoformat().replace('+00:00', 'Z') + block_data["published_by"] = "Bob" self.assertDictContainsEntries(self._get_library_block(block_id), block_data) assert self._get_library_blocks(lib_id)['results'] == [block_data] diff --git a/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py b/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py index d3306844ac40..f84ad4e6df72 100644 --- a/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py +++ b/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py @@ -441,7 +441,7 @@ def test_build_library_object_tree(self) -> None: """ Test if we can export a library """ - with self.assertNumQueries(8): + with self.assertNumQueries(11): tagged_library = build_object_tree_with_objecttags(self.library.key, self.all_library_object_tags) assert tagged_library == self.expected_library_tagged_xblock From 9e5f968e54c6d1b932a3e6c72408cb133a57d8dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Fri, 13 Sep 2024 16:24:05 -0300 Subject: [PATCH 2/8] feat: read data from component.versioning.draft Co-authored-by: Jillian --- openedx/core/djangoapps/content_libraries/api.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/openedx/core/djangoapps/content_libraries/api.py b/openedx/core/djangoapps/content_libraries/api.py index 0448ee9cc6ac..87325301866b 100644 --- a/openedx/core/djangoapps/content_libraries/api.py +++ b/openedx/core/djangoapps/content_libraries/api.py @@ -236,11 +236,9 @@ def from_component(cls, library_key, component): if last_publish_log and last_publish_log.published_by: published_by = last_publish_log.published_by.username - last_draft_log = authoring_api.get_entities_with_unpublished_changes(component.pk) \ - .order_by('-created').first() - last_draft_created = last_draft_log.created if last_draft_log else None - last_draft_created_by = \ - last_draft_log.created_by.username if last_draft_log and last_draft_log.created_by else None + draft = component.versioning.draft + last_draft_created = draft.created if draft else None + last_draft_created_by = draft.publishable_entity_version.created_by if draft else None return cls( usage_key=LibraryUsageLocatorV2( From 42de5ad63bf35c678cd81564ef490b836e3a7655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Fri, 13 Sep 2024 16:47:37 -0300 Subject: [PATCH 3/8] chore: temp update requirements --- requirements/constraints.txt | 2 +- requirements/edx/base.txt | 6 ++---- requirements/edx/development.txt | 3 +-- requirements/edx/doc.txt | 6 ++---- requirements/edx/kernel.in | 2 ++ requirements/edx/testing.txt | 6 ++---- 6 files changed, 10 insertions(+), 15 deletions(-) diff --git a/requirements/constraints.txt b/requirements/constraints.txt index b5d838156124..36f126ba15ae 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -93,7 +93,7 @@ libsass==0.10.0 click==8.1.6 # pinning this version to avoid updates while the library is being developed -openedx-learning==0.11.4 +# openedx-learning==0.11.5 # Open AI version 1.0.0 dropped support for openai.ChatCompletion which is currently in use in enterprise. openai<=0.28.1 diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 40d64855cb52..43d79d7e4516 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -824,10 +824,8 @@ openedx-filters==1.9.0 # -r requirements/edx/kernel.in # lti-consumer-xblock # ora2 -openedx-learning==0.11.4 - # via - # -c requirements/edx/../constraints.txt - # -r requirements/edx/kernel.in +openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab + # via -r requirements/edx/kernel.in openedx-mongodbproxy==0.2.1 # via -r requirements/edx/kernel.in optimizely-sdk==4.1.1 diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index a18ddb26b8b9..8c1aad68fe8e 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1373,9 +1373,8 @@ openedx-filters==1.9.0 # -r requirements/edx/testing.txt # lti-consumer-xblock # ora2 -openedx-learning==0.11.4 +openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab # via - # -c requirements/edx/../constraints.txt # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt openedx-mongodbproxy==0.2.1 diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index 00fc580dedc4..fb1535400149 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -983,10 +983,8 @@ openedx-filters==1.9.0 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-learning==0.11.4 - # via - # -c requirements/edx/../constraints.txt - # -r requirements/edx/base.txt +openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab + # via -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt optimizely-sdk==4.1.1 diff --git a/requirements/edx/kernel.in b/requirements/edx/kernel.in index a5b510742ac7..75838b615dcd 100644 --- a/requirements/edx/kernel.in +++ b/requirements/edx/kernel.in @@ -120,6 +120,8 @@ openedx-django-require openedx-events # Open edX Events from Hooks Extension Framework (OEP-50) openedx-filters # Open edX Filters from Hooks Extension Framework (OEP-50) openedx-learning # Open edX Learning core (experimental) +# openedx-learning # Open edX Learning core (experimental) +openedx-learning@git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab openedx-mongodbproxy openedx-django-wiki path diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 966bd772a876..1dcee3f80a2c 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1034,10 +1034,8 @@ openedx-filters==1.9.0 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-learning==0.11.4 - # via - # -c requirements/edx/../constraints.txt - # -r requirements/edx/base.txt +openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab + # via -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt optimizely-sdk==4.1.1 From d4810dccc7510063d1ea2138dc72ed4e637f56b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Fri, 13 Sep 2024 16:49:11 -0300 Subject: [PATCH 4/8] test: fix query count --- .../content_tagging/tests/test_objecttag_export_helpers.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py b/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py index f84ad4e6df72..f196549dd1a9 100644 --- a/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py +++ b/openedx/core/djangoapps/content_tagging/tests/test_objecttag_export_helpers.py @@ -4,14 +4,15 @@ import time from unittest.mock import patch +from openedx_tagging.core.tagging.models import ObjectTag +from organizations.models import Organization + from openedx.core.djangoapps.content_libraries import api as library_api from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase from xmodule.modulestore.tests.factories import BlockFactory, CourseFactory from .. import api from ..helpers.objecttag_export_helpers import TaggedContent, build_object_tree_with_objecttags, iterate_with_level -from openedx_tagging.core.tagging.models import ObjectTag -from organizations.models import Organization class TestGetAllObjectTagsMixin: @@ -441,7 +442,7 @@ def test_build_library_object_tree(self) -> None: """ Test if we can export a library """ - with self.assertNumQueries(11): + with self.assertNumQueries(8): tagged_library = build_object_tree_with_objecttags(self.library.key, self.all_library_object_tags) assert tagged_library == self.expected_library_tagged_xblock From 3be2aad0390a34c86479567438495d501fc1bd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Fri, 13 Sep 2024 22:45:24 -0300 Subject: [PATCH 5/8] test: update tests --- .../tests/test_content_libraries.py | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py index 08f777c68e57..677178bb3b31 100644 --- a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py +++ b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py @@ -272,12 +272,18 @@ def test_library_blocks(self): assert self._get_library_blocks(lib_id)['results'] == [] # Add a 'problem' XBlock to the library: - block_data = self._add_block_to_library(lib_id, "problem", "ࠒröblæm1") + create_date = datetime(2024, 6, 6, 6, 6, 6, tzinfo=timezone.utc) + with freeze_time(create_date): + block_data = self._add_block_to_library(lib_id, "problem", "ࠒröblæm1") self.assertDictContainsEntries(block_data, { "id": "lb:CL-TEST:téstlꜟط:problem:ࠒröblæm1", "display_name": "Blank Problem", "block_type": "problem", "has_unpublished_changes": True, + "last_published": None, + "published_by": None, + "last_draft_created": create_date.isoformat().replace('+00:00', 'Z'), + "last_draft_created_by": "Bob", }) block_id = block_data["id"] # Confirm that the result contains a definition key, but don't check its value, @@ -289,13 +295,13 @@ def test_library_blocks(self): assert self._get_library(lib_id)['has_unpublished_changes'] is True # Publish the changes: - updated_date = datetime(2024, 6, 7, 8, 9, 10, tzinfo=timezone.utc) - with freeze_time(updated_date): + publish_date = datetime(2024, 7, 7, 7, 7, 7, tzinfo=timezone.utc) + with freeze_time(publish_date): self._commit_library_changes(lib_id) assert self._get_library(lib_id)['has_unpublished_changes'] is False # And now the block information should also show that block has no unpublished changes: block_data["has_unpublished_changes"] = False - block_data["last_published"] = updated_date.isoformat().replace('+00:00', 'Z') + block_data["last_published"] = publish_date.isoformat().replace('+00:00', 'Z') block_data["published_by"] = "Bob" self.assertDictContainsEntries(self._get_library_block(block_id), block_data) assert self._get_library_blocks(lib_id)['results'] == [block_data] @@ -317,13 +323,16 @@ def test_library_blocks(self): """.strip() - self._set_library_block_olx(block_id, new_olx) + update_date = datetime(2024, 8, 8, 8, 8, 8, tzinfo=timezone.utc) + with freeze_time(update_date): + self._set_library_block_olx(block_id, new_olx) # now reading it back, we should get that exact OLX (no change to whitespace etc.): assert self._get_library_block_olx(block_id) == new_olx # And the display name and "unpublished changes" status of the block should be updated: self.assertDictContainsEntries(self._get_library_block(block_id), { "display_name": "New Multi Choice Question", "has_unpublished_changes": True, + "last_draft_created": update_date.isoformat().replace('+00:00', 'Z') }) # Now view the XBlock's student_view (including draft changes): @@ -364,12 +373,18 @@ def test_library_blocks_studio_view(self): assert self._get_library_blocks(lib_id)['results'] == [] # Add a 'html' XBlock to the library: - block_data = self._add_block_to_library(lib_id, "html", "html1") + create_date = datetime(2024, 6, 6, 6, 6, 6, tzinfo=timezone.utc) + with freeze_time(create_date): + block_data = self._add_block_to_library(lib_id, "html", "html1") self.assertDictContainsEntries(block_data, { "id": "lb:CL-TEST:testlib2:html:html1", "display_name": "Text", "block_type": "html", "has_unpublished_changes": True, + "last_published": None, + "published_by": None, + "last_draft_created": create_date.isoformat().replace('+00:00', 'Z'), + "last_draft_created_by": "Bob", }) block_id = block_data["id"] @@ -378,13 +393,13 @@ def test_library_blocks_studio_view(self): assert self._get_library(lib_id)['has_unpublished_changes'] is True # Publish the changes: - updated_date = datetime(2024, 6, 7, 8, 9, 10, tzinfo=timezone.utc) - with freeze_time(updated_date): + publish_date = datetime(2024, 7, 7, 7, 7, 7, tzinfo=timezone.utc) + with freeze_time(publish_date): self._commit_library_changes(lib_id) assert self._get_library(lib_id)['has_unpublished_changes'] is False # And now the block information should also show that block has no unpublished changes: block_data["has_unpublished_changes"] = False - block_data["last_published"] = updated_date.isoformat().replace('+00:00', 'Z') + block_data["last_published"] = publish_date.isoformat().replace('+00:00', 'Z') block_data["published_by"] = "Bob" self.assertDictContainsEntries(self._get_library_block(block_id), block_data) assert self._get_library_blocks(lib_id)['results'] == [block_data] @@ -393,13 +408,17 @@ def test_library_blocks_studio_view(self): orig_olx = self._get_library_block_olx(block_id) assert ' Date: Mon, 16 Sep 2024 10:18:19 -0300 Subject: [PATCH 6/8] chore: update openedx-learning --- requirements/edx/base.txt | 2 +- requirements/edx/development.txt | 2 +- requirements/edx/doc.txt | 2 +- requirements/edx/kernel.in | 2 -- requirements/edx/testing.txt | 2 +- 5 files changed, 4 insertions(+), 6 deletions(-) diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 43d79d7e4516..57d8c9ae6191 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -824,7 +824,7 @@ openedx-filters==1.9.0 # -r requirements/edx/kernel.in # lti-consumer-xblock # ora2 -openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab +openedx-learning==0.11.5 # via -r requirements/edx/kernel.in openedx-mongodbproxy==0.2.1 # via -r requirements/edx/kernel.in diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 8c1aad68fe8e..6ededed40a56 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1373,7 +1373,7 @@ openedx-filters==1.9.0 # -r requirements/edx/testing.txt # lti-consumer-xblock # ora2 -openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab +openedx-learning==0.11.5 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index fb1535400149..d2b844debb1b 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -983,7 +983,7 @@ openedx-filters==1.9.0 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab +openedx-learning==0.11.5 # via -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt diff --git a/requirements/edx/kernel.in b/requirements/edx/kernel.in index 75838b615dcd..a5b510742ac7 100644 --- a/requirements/edx/kernel.in +++ b/requirements/edx/kernel.in @@ -120,8 +120,6 @@ openedx-django-require openedx-events # Open edX Events from Hooks Extension Framework (OEP-50) openedx-filters # Open edX Filters from Hooks Extension Framework (OEP-50) openedx-learning # Open edX Learning core (experimental) -# openedx-learning # Open edX Learning core (experimental) -openedx-learning@git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab openedx-mongodbproxy openedx-django-wiki path diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 1dcee3f80a2c..fe80fa1a543f 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1034,7 +1034,7 @@ openedx-filters==1.9.0 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-learning @ git+https://github.com/open-craft/openedx-learning/@rpenido/fal-3802-component-sidebar-manage-tab +openedx-learning==0.11.5 # via -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt From c7d221e41120918122b9a7de23b193303bcd5043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Mon, 16 Sep 2024 14:13:36 -0300 Subject: [PATCH 7/8] fix: last_draft_created_by attr type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Chris Chávez --- openedx/core/djangoapps/content_libraries/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openedx/core/djangoapps/content_libraries/api.py b/openedx/core/djangoapps/content_libraries/api.py index 87325301866b..e6a0500c21ff 100644 --- a/openedx/core/djangoapps/content_libraries/api.py +++ b/openedx/core/djangoapps/content_libraries/api.py @@ -219,7 +219,7 @@ class LibraryXBlockMetadata: display_name = attr.ib("") last_published = attr.ib(default=None, type=datetime) last_draft_created = attr.ib(default=None, type=datetime) - last_draft_created_by = attr.ib(default=None, type=datetime) + last_draft_created_by = attr.ib("") published_by = attr.ib("") has_unpublished_changes = attr.ib(False) tags_count = attr.ib(0) From 4dd697a2214c5fe25c2bbf22a91b6bda4ccb9213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=B4mulo=20Penido?= Date: Mon, 16 Sep 2024 14:19:27 -0300 Subject: [PATCH 8/8] chore: fix openedx-learning constraint --- requirements/constraints.txt | 2 +- requirements/edx/base.txt | 4 +++- requirements/edx/development.txt | 1 + requirements/edx/doc.txt | 4 +++- requirements/edx/testing.txt | 4 +++- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 36f126ba15ae..ebdb944883e9 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -93,7 +93,7 @@ libsass==0.10.0 click==8.1.6 # pinning this version to avoid updates while the library is being developed -# openedx-learning==0.11.5 +openedx-learning==0.11.5 # Open AI version 1.0.0 dropped support for openai.ChatCompletion which is currently in use in enterprise. openai<=0.28.1 diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 57d8c9ae6191..a1161d774d95 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -825,7 +825,9 @@ openedx-filters==1.9.0 # lti-consumer-xblock # ora2 openedx-learning==0.11.5 - # via -r requirements/edx/kernel.in + # via + # -c requirements/edx/../constraints.txt + # -r requirements/edx/kernel.in openedx-mongodbproxy==0.2.1 # via -r requirements/edx/kernel.in optimizely-sdk==4.1.1 diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 6ededed40a56..fb1c80162b69 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1375,6 +1375,7 @@ openedx-filters==1.9.0 # ora2 openedx-learning==0.11.5 # via + # -c requirements/edx/../constraints.txt # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt openedx-mongodbproxy==0.2.1 diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index d2b844debb1b..b53620144a40 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -984,7 +984,9 @@ openedx-filters==1.9.0 # lti-consumer-xblock # ora2 openedx-learning==0.11.5 - # via -r requirements/edx/base.txt + # via + # -c requirements/edx/../constraints.txt + # -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt optimizely-sdk==4.1.1 diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index fe80fa1a543f..8a450a640ece 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1035,7 +1035,9 @@ openedx-filters==1.9.0 # lti-consumer-xblock # ora2 openedx-learning==0.11.5 - # via -r requirements/edx/base.txt + # via + # -c requirements/edx/../constraints.txt + # -r requirements/edx/base.txt openedx-mongodbproxy==0.2.1 # via -r requirements/edx/base.txt optimizely-sdk==4.1.1