diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/models.py | 39 | 
1 files changed, 21 insertions, 18 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index c6bc25615..035ab74e2 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -610,8 +610,7 @@ class ArchaeologicalSite(      @property      def finds(self): -        from archaeological_finds.models import Find - +        Find = apps.get_model("archaeological_finds", "Find")          return Find.objects.filter(              base_finds__context_record__archaeological_site__pk=self.pk          ) @@ -684,7 +683,7 @@ class ArchaeologicalSite(      @classmethod      def get_query_owns(cls, ishtaruser): -        from archaeological_warehouse.models import Warehouse +        Warehouse = apps.get_model("archaeological_warehouse", "Warehouse")          q = (              cls._construct_query_own( @@ -1628,14 +1627,22 @@ class Operation(          if filtr and "uuid" not in filtr:              filtr.append("uuid")          containers = [] -        if (not filtr or (f"{prefix}containers" in filtr or f"{prefix}all_containers" in filtr)): +        if (not filtr or ( +                f"{prefix}containers" in filtr or f"{prefix}all_containers" in filtr)) and ( +            f"{prefix}containers" not in exclude +        ):              containers = self.get_containers_values(filtr, exclude)              values[f"{prefix}containers"] = containers[:]          document_containers = [] -        if not filtr or (f"{prefix}document_containers" in filtr or f"{prefix}all_containers" in filtr): +        if (not filtr or ( +                f"{prefix}document_containers" in filtr or f"{prefix}all_containers" in filtr)) and ( +            f"{prefix}documents_containers" +        ):              document_containers = self.get_document_containers_values(filtr, exclude)              values[f"{prefix}document_containers"] = document_containers[:] -        if not filtr or f"{prefix}all_containers" in filtr: +        if (not filtr or f"{prefix}all_containers" in filtr) and ( +            f"{prefix}all_containers" not in exclude +        ):              values[f"{prefix}all_containers"] = containers[:]              current_ids = [container["uuid"] for container in containers]              for container in document_containers: @@ -1727,13 +1734,11 @@ class Operation(          return " ; ".join([town.name for town in self.towns.all()])      def has_finds(self): -        from archaeological_finds.models import BaseFind - +        BaseFind = apps.get_model("archaeological_finds", "BaseFind")          return BaseFind.objects.filter(context_record__operation=self).count()      def finds(self): -        from archaeological_finds.models import BaseFind - +        BaseFind = apps.get_model("archaeological_finds", "BaseFind")          return BaseFind.objects.filter(context_record__operation=self)      def get_reference(self, full=False): @@ -1872,8 +1877,7 @@ class Operation(          return dct      def context_record_relations_q(self): -        from archaeological_context_records.models import RecordRelations as CRRL - +        CRRL = apps.get_model("archaeological_context_records", "RecordRelations")          return CRRL.objects.filter(left_record__operation=self)      def context_record_docs_q(self): @@ -2052,7 +2056,7 @@ class Operation(      @classmethod      def get_query_owns(cls, ishtaruser): -        from archaeological_warehouse.models import Warehouse +        Warehouse = apps.get_model("archaeological_warehouse", "Warehouse")          q = (              cls._construct_query_own( @@ -2160,8 +2164,7 @@ class Operation(          return self._get_or_set_stats("_nb_finds", update)      def _nb_finds(self): -        from archaeological_finds.models import Find - +        Find = apps.get_model("archaeological_finds", "Find")          q = Find.objects.filter(              base_finds__context_record__operation=self,              upstream_treatment_id__isnull=True, @@ -2175,7 +2178,7 @@ class Operation(          )      def _nb_finds_by_material_type(self): -        from archaeological_finds.models import Find +        Find = apps.get_model("archaeological_finds", "Find")          nbs = []          q = ( @@ -2206,7 +2209,7 @@ class Operation(          return self._get_or_set_stats("_nb_finds_by_types", update, expected_type=list)      def _nb_finds_by_types(self): -        from archaeological_finds.models import Find +        Find = apps.get_model("archaeological_finds", "Find")          nbs = []          q = ( @@ -2238,7 +2241,7 @@ class Operation(          )      def _nb_finds_by_periods(self): -        from archaeological_finds.models import Find +        Find = apps.get_model("archaeological_finds", "Find")          nbs = []          q = (  | 
