From eb9487d5d7721719674935e1eafd5be883a193f6 Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Tue, 1 Jul 2025 16:29:08 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85(back)=20fix=20backend=20code=20relate?= =?UTF-8?q?d=20to=20multipage=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit During the multipage dev, the code base has changed a lot and rebase after rebase it has come difficult to manage fixup commits. This commits fix modification made that can be fixup in previous commits. The persmission AccessPermission has been renamed in ResourceWithAccessPermission and should be used in the DocumentAskForAccessViewSet. A migration with the same dependency exists, the last one is fixed. And a test didn't have removed an abilitites. --- src/backend/core/api/viewsets.py | 10 +++++++--- .../0022_remove_document_is_public_and_more.py | 2 +- .../tests/documents/test_api_documents_trashbin.py | 1 - 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index 0d971c1a..66f050be 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -1819,7 +1819,10 @@ class DocumentAskForAccessViewSet( lookup_field = "id" pagination_class = Pagination - permission_classes = [permissions.IsAuthenticated, permissions.AccessPermission] + permission_classes = [ + permissions.IsAuthenticated, + permissions.ResourceWithAccessPermission, + ] queryset = models.DocumentAskForAccess.objects.all() serializer_class = serializers.DocumentAskForAccessSerializer _document = None @@ -1842,8 +1845,9 @@ class DocumentAskForAccessViewSet( queryset = super().get_queryset() queryset = queryset.filter(document=document) - roles = set(document.get_roles(self.request.user)) - is_owner_or_admin = bool(roles.intersection(set(models.PRIVILEGED_ROLES))) + is_owner_or_admin = ( + document.get_role(self.request.user) in models.PRIVILEGED_ROLES + ) if not is_owner_or_admin: queryset = queryset.filter(user=self.request.user) diff --git a/src/backend/core/migrations/0022_remove_document_is_public_and_more.py b/src/backend/core/migrations/0022_remove_document_is_public_and_more.py index cfce2c5e..9d8780d0 100644 --- a/src/backend/core/migrations/0022_remove_document_is_public_and_more.py +++ b/src/backend/core/migrations/0022_remove_document_is_public_and_more.py @@ -5,7 +5,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ("core", "0021_activate_unaccent_extension"), + ("core", "0022_alter_user_language_documentaskforaccess"), ] operations = [ diff --git a/src/backend/core/tests/documents/test_api_documents_trashbin.py b/src/backend/core/tests/documents/test_api_documents_trashbin.py index c81594a9..42ccc795 100644 --- a/src/backend/core/tests/documents/test_api_documents_trashbin.py +++ b/src/backend/core/tests/documents/test_api_documents_trashbin.py @@ -74,7 +74,6 @@ def test_api_documents_trashbin_format(): "accesses_view": True, "ai_transform": True, "ai_translate": True, - "ancestors_links_definitions": {}, "attachment_upload": True, "children_create": True, "children_list": True,