diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-09-29 18:06:04 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:20 +0100 |
commit | 2c792763a65da1f096be9108c0562661734e4022 (patch) | |
tree | 53ee5c521dba28a415f184f97cd21ee8c947eeff /archaeological_warehouse/models.py | |
parent | ca552702a2e173a77d827e2523a5899dc6ea39ea (diff) | |
download | Ishtar-2c792763a65da1f096be9108c0562661734e4022.tar.bz2 Ishtar-2c792763a65da1f096be9108c0562661734e4022.zip |
Warehouse sheet: display divisions table, display number of items, divisions, containers
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r-- | archaeological_warehouse/models.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 4b7201bcc..a8a38c34d 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -31,6 +31,7 @@ from django.db.models.signals import post_save, post_delete, m2m_changed from django.template.defaultfilters import slugify from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from django.apps import apps from ishtar_common.data_importer import post_importer_action from ishtar_common.model_managers import ExternalIdManager, UUIDModelManager from ishtar_common.models import Document, GeneralType, get_external_id, \ @@ -155,6 +156,28 @@ class Warehouse(Address, DocumentItem, GeoItem, QRCodeItem, DashboardFormItem, return self.name @property + def number_divisions(self): + return Container.objects.filter( + location=self.pk, container_type__stationary=True).count() + + @property + def number_containers(self): + return Container.objects.filter( + location=self.pk, container_type__stationary=False).count() + + @property + def number_finds(self): + Find = apps.get_model("archaeological_finds", "Find") + return Find.objects.filter( + container__location_id=self.pk).count() + + @property + def number_owned_finds(self): + Find = apps.get_model("archaeological_finds", "Find") + return Find.objects.filter( + container_ref__location_id=self.pk).count() + + @property def short_label(self): return self.name |