diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 15 | 
1 files changed, 11 insertions, 4 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 1850f86c8..6eb36acdb 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3893,11 +3893,18 @@ class Document(OwnPerms, ImageModel, FullSearch, Imported):      def get_query_owns(cls, ishtaruser):          Operation = cls.operations.rel.related_model          ArchaeologicalSite = cls.sites.rel.related_model -        q = cls._construct_query_own( -            'operations__', Operation._get_query_owns_dicts(ishtaruser) -        ) | cls._construct_query_own( -            'sites__', ArchaeologicalSite._get_query_owns_dicts(ishtaruser) +        query_own_list = ( +            ('operations__', Operation._get_query_owns_dicts(ishtaruser)), +            ('sites__', ArchaeologicalSite._get_query_owns_dicts(ishtaruser)),          ) +        q = None +        for prefix, owns in query_own_list: +            subq = cls._construct_query_own(prefix, owns) +            if subq: +                if not q: +                    q = subq +                else: +                    q |= subq          return q      def get_associated_operation(self): | 
