]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Chore: refactor for clarity
authorshamoon <4887959+shamoon@users.noreply.github.com>
Tue, 30 Sep 2025 19:16:22 +0000 (12:16 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Tue, 30 Sep 2025 19:16:22 +0000 (12:16 -0700)
src/documents/tests/test_views.py
src/documents/views.py

index 57562c02cf4f5f22b7d4c3d5937049243078cf17..4fa8fa8332733b30491c3505ecc11715a8e66f7a 100644 (file)
@@ -237,7 +237,7 @@ class TestViews(DirectoriesMixin, TestCase):
         WHEN:
             - Request to get tag list with full permissions is made
         THEN:
-            - Permissions are not queries in database tag by tag,
+            - Permissions are not queried in database tag by tag,
              i.e. there are no N+1 queries
         """
         view_permissions = Permission.objects.filter(
index bce7428cd04ed620253962426c4aa9fcbaf9efd6..cf103f9a7a53ddfcd25d31b50873a5ac3f0352c3 100644 (file)
@@ -264,13 +264,6 @@ class BulkPermissionMixin:
     Prefetch Django-Guardian permissions for a list before serialization, to avoid N+1 queries.
     """
 
-    def get_permission_codenames(self):
-        model_name = self.queryset.model.__name__.lower()
-        return {
-            "view": f"view_{model_name}",
-            "change": f"change_{model_name}",
-        }
-
     def _get_object_perms(
         self,
         objects: list,
@@ -332,22 +325,32 @@ class BulkPermissionMixin:
         else:
             queryset = self.filter_queryset(self.get_queryset())
 
-        codenames = self.get_permission_codenames()
-        perm_names = [codenames["view"], codenames["change"]]
-        user_perms = self._get_object_perms(queryset, perm_names, actor="users")
-        group_perms = self._get_object_perms(queryset, perm_names, actor="groups")
+        model_name = self.queryset.model.__name__.lower()
+        permission_name_view = f"view_{model_name}"
+        permission_name_change = f"change_{model_name}"
+
+        user_perms = self._get_object_perms(
+            objects=queryset,
+            perm_codenames=[permission_name_view, permission_name_change],
+            actor="users",
+        )
+        group_perms = self._get_object_perms(
+            objects=queryset,
+            perm_codenames=[permission_name_view, permission_name_change],
+            actor="groups",
+        )
 
         context["users_view_perms"] = {
-            pk: user_perms[pk][codenames["view"]] for pk in user_perms
+            pk: user_perms[pk][permission_name_view] for pk in user_perms
         }
         context["users_change_perms"] = {
-            pk: user_perms[pk][codenames["change"]] for pk in user_perms
+            pk: user_perms[pk][permission_name_change] for pk in user_perms
         }
         context["groups_view_perms"] = {
-            pk: group_perms[pk][codenames["view"]] for pk in group_perms
+            pk: group_perms[pk][permission_name_view] for pk in group_perms
         }
         context["groups_change_perms"] = {
-            pk: group_perms[pk][codenames["change"]] for pk in group_perms
+            pk: group_perms[pk][permission_name_change] for pk in group_perms
         }
 
         return context