Skip to content

Commit 6af8d78

Browse files
lunikaAntoLC
authored andcommitted
✅(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 304b3be commit 6af8d78

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
@@ -926,8 +926,7 @@ def duplicate(self, request, *args, **kwargs):
926926
)
927927
serializer.is_valid(raise_exception=True)
928928
with_accesses = serializer.validated_data.get("with_accesses", False)
929-
roles = set(document.get_roles(request.user))
930-
is_owner_or_admin = bool(roles.intersection(set(models.PRIVILEGED_ROLES)))
929+
is_owner_or_admin = document.get_role(request.user) in models.PRIVILEGED_ROLES
931930

932931
base64_yjs_content = document.content
933932

@@ -1898,7 +1897,10 @@ class DocumentAskForAccessViewSet(
18981897

18991898
lookup_field = "id"
19001899
pagination_class = Pagination
1901-
permission_classes = [permissions.IsAuthenticated, permissions.AccessPermission]
1900+
permission_classes = [
1901+
permissions.IsAuthenticated,
1902+
permissions.ResourceWithAccessPermission,
1903+
]
19021904
queryset = models.DocumentAskForAccess.objects.all()
19031905
serializer_class = serializers.DocumentAskForAccessSerializer
19041906
_document = None
@@ -1921,8 +1923,9 @@ def get_queryset(self):
19211923
queryset = super().get_queryset()
19221924
queryset = queryset.filter(document=document)
19231925

1924-
roles = set(document.get_roles(self.request.user))
1925-
is_owner_or_admin = bool(roles.intersection(set(models.PRIVILEGED_ROLES)))
1926+
is_owner_or_admin = (
1927+
document.get_role(self.request.user) in models.PRIVILEGED_ROLES
1928+
)
19261929
if not is_owner_or_admin:
19271930
queryset = queryset.filter(user=self.request.user)
19281931

src/backend/core/migrations/0021_remove_document_is_public_and_more.py renamed to src/backend/core/migrations/0023_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", "0020_remove_is_public_add_field_attachments_and_duplicated_from"),
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
"can_edit": True,
8079
"children_create": True,

0 commit comments

Comments
 (0)