diff options
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 |
commit | 89ff92664ff06a974e37c15ab663394271ac4a10 (patch) | |
tree | 48289b45207b4bd8ca73e7aaea116f15783df434 /ishtar_common/models_common.py | |
parent | dbd8b853ce6bf5bc636f08448da8ff897963193e (diff) | |
download | Ishtar-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.py | 17 |
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 = [ |