Fix: remove admin.logentry perm, use admin (staff) status (#6380)

This commit is contained in:
shamoon
2024-04-13 17:35:34 -07:00
committed by GitHub
parent 47b4a602a7
commit f812f2af4d
15 changed files with 81 additions and 47 deletions

View File

@@ -40,7 +40,7 @@ class PaperlessObjectPermissions(DjangoObjectPermissions):
class PaperlessAdminPermissions(BasePermission):
def has_permission(self, request, view):
return request.user.has_perm("admin.view_logentry")
return request.user.is_staff
def get_groups_with_only_permission(obj, codename):

View File

@@ -131,6 +131,7 @@ class TestApiAuth(DirectoriesMixin, APITestCase):
def test_api_sufficient_permissions(self):
user = User.objects.create_user(username="test")
user.user_permissions.add(*Permission.objects.all())
user.is_staff = True
self.client.force_authenticate(user)
Document.objects.create(title="Test")

View File

@@ -27,6 +27,7 @@ class TestApiUiSettings(DirectoriesMixin, APITestCase):
{
"id": self.test_user.id,
"username": self.test_user.username,
"is_staff": True,
"is_superuser": True,
"groups": [],
"first_name": self.test_user.first_name,

View File

@@ -1270,6 +1270,7 @@ class UiSettingsView(GenericAPIView):
user_resp = {
"id": user.id,
"username": user.username,
"is_staff": user.is_staff,
"is_superuser": user.is_superuser,
"groups": list(user.groups.values_list("id", flat=True)),
}