diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-10-23 15:19:31 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-10-23 15:23:41 +0200 |
commit | 3acf839ef59a5736b3f19c8aaad2eed1049a9b03 (patch) | |
tree | 203a933fdfe6f2b569905cc55b899a8090e52734 /ishtar_common/models.py | |
parent | 860e2d1b90a2e3cb011e7b9160e0dcba59d4dd66 (diff) | |
download | Ishtar-3acf839ef59a5736b3f19c8aaad2eed1049a9b03.tar.bz2 Ishtar-3acf839ef59a5736b3f19c8aaad2eed1049a9b03.zip |
Documents: form - save modifier and creator - fix own permissions - fix own select
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index f3ef8103c..ffa5323dd 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -5318,12 +5318,14 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, @classmethod def get_query_owns(cls, ishtaruser): - Operation = cls.operations.rel.related_model - ArchaeologicalSite = cls.sites.rel.related_model - query_own_list = ( - ('operations__', Operation._get_query_owns_dicts(ishtaruser)), - ('sites__', ArchaeologicalSite._get_query_owns_dicts(ishtaruser)), - ) + query_own_list = [] + for rel_model in cls.RELATED_MODELS: + klass = getattr(cls, rel_model).rel.related_model + q_own_dct = klass._get_query_owns_dicts(ishtaruser) + if q_own_dct: + query_own_list.append( + (rel_model + "__", q_own_dct) + ) q = None for prefix, owns in query_own_list: subq = cls._construct_query_own(prefix, owns) @@ -5332,6 +5334,9 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, q = subq else: q |= subq + q |= cls._construct_query_own('', [ + {'history_creator': ishtaruser.user_ptr} + ]) return q def get_associated_operation(self): |