From 9004000c1a633bf046eaea8475f444b06aa605f0 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 31 Mar 2024 00:27:16 -0700 Subject: [PATCH] Add basic object perms for global search --- src/documents/views.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/documents/views.py b/src/documents/views.py index 3cbfc7bd4..088ad5f89 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -1121,12 +1121,30 @@ class GlobalSearchView(PassUserMixin): request.user, )._get_query() results = s.search(q, limit=3) - docs = Document.objects.filter(id__in=[r["id"] for r in results]) + docs = get_objects_for_user_owner_aware( + request.user, + "view_document", + Document, + ).filter(id__in=[r["id"] for r in results]) - tags = Tag.objects.filter(name__contains=query)[:3] - correspondents = Correspondent.objects.filter(name__contains=query)[:3] - document_types = DocumentType.objects.filter(name__contains=query)[:3] - storage_paths = StoragePath.objects.filter(name__contains=query)[:3] + tags = get_objects_for_user_owner_aware(request.user, "view_tag", Tag).filter( + name__contains=query, + )[:3] + correspondents = get_objects_for_user_owner_aware( + request.user, + "view_correspondent", + Correspondent, + ).filter(name__contains=query)[:3] + document_types = get_objects_for_user_owner_aware( + request.user, + "view_documenttype", + DocumentType, + ).filter(name__contains=query)[:3] + storage_paths = get_objects_for_user_owner_aware( + request.user, + "view_storagepath", + StoragePath, + ).filter(name__contains=query)[:3] users = User.objects.filter(username__contains=query)[:3] groups = Group.objects.filter(name__contains=query)[:3] mail_rules = MailRule.objects.filter(name__contains=query)[:3]