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):  | 
