summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
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
commit2c792763a65da1f096be9108c0562661734e4022 (patch)
tree53ee5c521dba28a415f184f97cd21ee8c947eeff /archaeological_warehouse/models.py
parentca552702a2e173a77d827e2523a5899dc6ea39ea (diff)
downloadIshtar-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.py23
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