summaryrefslogtreecommitdiff
path: root/ishtar_common/models_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-07 14:59:01 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:43:49 +0100
commit89ff92664ff06a974e37c15ab663394271ac4a10 (patch)
tree48289b45207b4bd8ca73e7aaea116f15783df434 /ishtar_common/models_common.py
parentdbd8b853ce6bf5bc636f08448da8ff897963193e (diff)
downloadIshtar-89ff92664ff06a974e37c15ab663394271ac4a10.tar.bz2
Ishtar-89ff92664ff06a974e37c15ab663394271ac4a10.zip
✨ update permission script - admin: delete "owns" groups when non relevent
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r--ishtar_common/models_common.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index ed2d46305..dc48fa9e5 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -2466,8 +2466,12 @@ class GeoVectorData(Imported, OwnPerms):
sub_q = cls._construct_query_own(
"", model._get_query_owns_dicts(ishtaruser)
)
+ if not sub_q:
+ continue
q2 = Q(
- source_id__in=list(sub_q.values_list("id", flat=True)),
+ source_id__in=list(
+ model.objects.filter(sub_q).values_list("id", flat=True)
+ ),
source_content_type__app_label=app_label,
source_content_type__model=model_name.lower(),
)
@@ -3127,6 +3131,17 @@ class PermissionRequest(models.Model):
return f"{self.model} - {self.name}"
+def post_save_permission_request(sender, **kwargs):
+ permission_request = kwargs["instance"]
+ IshtarUser = apps.get_model("ishtar_common", "IshtarUser")
+ IshtarUser.objects.filter(
+ person__profiles__profile_type__permission_requests__pk=permission_request.pk
+ ).update(need_permission_update=True)
+
+
+post_save.connect(post_save_permission_request, sender=PermissionRequest)
+
+
class SerializeItem:
SERIALIZE_EXCLUDE = ["search_vector"]
SERIALIZE_PROPERTIES = [