Skip to content

Commit 900e205

Browse files
committed
✅(back) fix backend code related to multipage dev
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.
1 parent 42a6f38 commit 900e205

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

src/backend/core/api/viewsets.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -849,8 +849,7 @@ def duplicate(self, request, *args, **kwargs):
849849
)
850850
serializer.is_valid(raise_exception=True)
851851
with_accesses = serializer.validated_data.get("with_accesses", False)
852-
roles = set(document.get_roles(request.user))
853-
is_owner_or_admin = bool(roles.intersection(set(models.PRIVILEGED_ROLES)))
852+
is_owner_or_admin = document.get_role(request.user) in models.PRIVILEGED_ROLES
854853

855854
base64_yjs_content = document.content
856855

@@ -1821,7 +1820,10 @@ class DocumentAskForAccessViewSet(
18211820

18221821
lookup_field = "id"
18231822
pagination_class = Pagination
1824-
permission_classes = [permissions.IsAuthenticated, permissions.AccessPermission]
1823+
permission_classes = [
1824+
permissions.IsAuthenticated,
1825+
permissions.ResourceWithAccessPermission,
1826+
]
18251827
queryset = models.DocumentAskForAccess.objects.all()
18261828
serializer_class = serializers.DocumentAskForAccessSerializer
18271829
_document = None
@@ -1844,8 +1846,9 @@ def get_queryset(self):
18441846
queryset = super().get_queryset()
18451847
queryset = queryset.filter(document=document)
18461848

1847-
roles = set(document.get_roles(self.request.user))
1848-
is_owner_or_admin = bool(roles.intersection(set(models.PRIVILEGED_ROLES)))
1849+
is_owner_or_admin = (
1850+
document.get_role(self.request.user) in models.PRIVILEGED_ROLES
1851+
)
18491852
if not is_owner_or_admin:
18501853
queryset = queryset.filter(user=self.request.user)
18511854

src/backend/core/migrations/0022_remove_document_is_public_and_more.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
class Migration(migrations.Migration):
77
dependencies = [
8-
("core", "0021_activate_unaccent_extension"),
8+
("core", "0022_alter_user_language_documentaskforaccess"),
99
]
1010

1111
operations = [

src/backend/core/tests/documents/test_api_documents_trashbin.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ def test_api_documents_trashbin_format():
7474
"accesses_view": True,
7575
"ai_transform": True,
7676
"ai_translate": True,
77-
"ancestors_links_definitions": {},
7877
"attachment_upload": True,
7978
"children_create": True,
8079
"children_list": True,

0 commit comments

Comments
 (0)