Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions openedx/core/djangoapps/content_libraries/api/blocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,10 @@ def get_or_create_olx_media_type(block_type: str) -> MediaType:
)


def delete_library_block(usage_key: LibraryUsageLocatorV2, remove_from_parent=True) -> None:
def delete_library_block(
usage_key: LibraryUsageLocatorV2,
user_id: int | None = None,
) -> None:
"""
Delete the specified block from this library (soft delete).
"""
Expand All @@ -648,7 +651,7 @@ def delete_library_block(usage_key: LibraryUsageLocatorV2, remove_from_parent=Tr
affected_collections = authoring_api.get_entity_collections(component.learning_package_id, component.key)
affected_containers = get_containers_contains_component(usage_key)

authoring_api.soft_delete_draft(component.pk)
authoring_api.soft_delete_draft(component.pk, deleted_by=user_id)

LIBRARY_BLOCK_DELETED.send_event(
library_block=LibraryBlockData(
Expand Down Expand Up @@ -685,7 +688,7 @@ def delete_library_block(usage_key: LibraryUsageLocatorV2, remove_from_parent=Tr
)


def restore_library_block(usage_key: LibraryUsageLocatorV2) -> None:
def restore_library_block(usage_key: LibraryUsageLocatorV2, user_id: int | None = None) -> None:
"""
Restore the specified library block.
"""
Expand All @@ -694,7 +697,11 @@ def restore_library_block(usage_key: LibraryUsageLocatorV2) -> None:
affected_collections = authoring_api.get_entity_collections(component.learning_package_id, component.key)

# Set draft version back to the latest available component version id.
authoring_api.set_draft_version(component.pk, component.versioning.latest.pk)
authoring_api.set_draft_version(
component.pk,
component.versioning.latest.pk,
set_by=user_id,
)

LIBRARY_BLOCK_CREATED.send_event(
library_block=LibraryBlockData(
Expand Down
4 changes: 2 additions & 2 deletions openedx/core/djangoapps/content_libraries/api/libraries.py
Original file line number Diff line number Diff line change
Expand Up @@ -721,14 +721,14 @@ def publish_changes(library_key: LibraryLocatorV2, user_id: int | None = None):
)


def revert_changes(library_key: LibraryLocatorV2) -> None:
def revert_changes(library_key: LibraryLocatorV2, user_id: int | None = None) -> None:
"""
Revert all pending changes to the specified library, restoring it to the
last published version.
"""
learning_package = ContentLibrary.objects.get_by_key(library_key).learning_package
assert learning_package is not None # shouldn't happen but it's technically possible.
authoring_api.reset_drafts_to_published(learning_package.id)
authoring_api.reset_drafts_to_published(learning_package.id, reset_by=user_id)

CONTENT_LIBRARY_UPDATED.send_event(
content_library=ContentLibraryData(
Expand Down
4 changes: 2 additions & 2 deletions openedx/core/djangoapps/content_libraries/rest_api/blocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ def delete(self, request, usage_key_str): # pylint: disable=unused-argument
"""
key = LibraryUsageLocatorV2.from_string(usage_key_str)
api.require_permission_for_library_key(key.lib_key, request.user, permissions.CAN_EDIT_THIS_CONTENT_LIBRARY)
api.delete_library_block(key)
api.delete_library_block(key, user_id=request.user.id)
return Response({})


Expand Down Expand Up @@ -346,7 +346,7 @@ def post(self, request, usage_key_str) -> Response:
"""
key = LibraryUsageLocatorV2.from_string(usage_key_str)
api.require_permission_for_library_key(key.lib_key, request.user, permissions.CAN_EDIT_THIS_CONTENT_LIBRARY)
api.restore_library_block(key)
api.restore_library_block(key, request.user.id)
return Response(None, status=status.HTTP_204_NO_CONTENT)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ def delete(self, request, lib_key_str): # pylint: disable=unused-argument
"""
key = LibraryLocatorV2.from_string(lib_key_str)
api.require_permission_for_library_key(key, request.user, permissions.CAN_EDIT_THIS_CONTENT_LIBRARY)
api.revert_changes(key)
api.revert_changes(key, request.user.id)
return Response({})


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ def save_block(self, block):
"block.xml": content.id,
},
created=now,
created_by=self.user.id if self.user else None
)
self.authored_data_store.mark_unchanged(block)

Expand Down
2 changes: 1 addition & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ numpy<2.0.0
# Date: 2023-09-18
# pinning this version to avoid updates while the library is being developed
# Issue for unpinning: https://github.com/openedx/edx-platform/issues/35269
openedx-learning==0.22.0
openedx-learning==0.23.0

# Date: 2023-11-29
# Open AI version 1.0.0 dropped support for openai.ChatCompletion which is currently in use in enterprise.
Expand Down
2 changes: 1 addition & 1 deletion requirements/edx/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,7 @@ openedx-filters==2.0.1
# ora2
openedx-forum==0.2.0
# via -r requirements/edx/kernel.in
openedx-learning==0.22.0
openedx-learning==0.23.0
# via
# -c requirements/edx/../constraints.txt
# -r requirements/edx/kernel.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/edx/development.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1383,7 +1383,7 @@ openedx-forum==0.2.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
openedx-learning==0.22.0
openedx-learning==0.23.0
# via
# -c requirements/edx/../constraints.txt
# -r requirements/edx/doc.txt
Expand Down
2 changes: 1 addition & 1 deletion requirements/edx/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -992,7 +992,7 @@ openedx-filters==2.0.1
# ora2
openedx-forum==0.2.0
# via -r requirements/edx/base.txt
openedx-learning==0.22.0
openedx-learning==0.23.0
# via
# -c requirements/edx/../constraints.txt
# -r requirements/edx/base.txt
Expand Down
2 changes: 1 addition & 1 deletion requirements/edx/testing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1050,7 +1050,7 @@ openedx-filters==2.0.1
# ora2
openedx-forum==0.2.0
# via -r requirements/edx/base.txt
openedx-learning==0.22.0
openedx-learning==0.23.0
# via
# -c requirements/edx/../constraints.txt
# -r requirements/edx/base.txt
Expand Down
Loading