summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/models.py')
-rw-r--r--archaeological_warehouse/models.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index b1b6467ae..a40bfd321 100644
--- a/archaeological_warehouse/models.py
+++ b/archaeological_warehouse/models.py
@@ -30,7 +30,7 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \
from ishtar_common.data_importer import post_importer_action
from ishtar_common.models import Document, GeneralType, get_external_id, \
LightHistorizedItem, OwnPerms, Address, Person, post_save_cache, \
- ImageModel, DashboardFormItem, ExternalIdManager
+ ImageModel, DashboardFormItem, ExternalIdManager, ShortMenuItem
from ishtar_common.utils import cached_label_changed
@@ -45,7 +45,8 @@ post_save.connect(post_save_cache, sender=WarehouseType)
post_delete.connect(post_save_cache, sender=WarehouseType)
-class Warehouse(Address, DashboardFormItem, OwnPerms):
+class Warehouse(Address, DashboardFormItem, OwnPerms,
+ ShortMenuItem):
SLUG = 'warehouse'
SHOW_URL = 'show-warehouse'
TABLE_COLS = ['name', 'warehouse_type']
@@ -124,7 +125,12 @@ class Warehouse(Address, DashboardFormItem, OwnPerms):
@classmethod
def get_query_owns(cls, ishtaruser):
- return Q(person_in_charge__ishtaruser=ishtaruser)
+ return cls._construct_query_own(
+ '', cls._get_query_owns_dicts(ishtaruser))
+
+ @classmethod
+ def _get_query_owns_dicts(cls, ishtaruser):
+ return [{'person_in_charge__ishtaruser': ishtaruser}]
@property
def number_of_finds(self):
@@ -334,7 +340,7 @@ class Container(LightHistorizedItem, ImageModel):
'cached_division': _(u"Precise localisation"),
'container_type__label': _(u"Type")
}
- CACHED_LABELS = ['cached_label', 'cached_location', 'cached_division']
+ CACHED_LABELS = ['cached_division', 'cached_label', 'cached_location', ]
# alternative names of fields for searches
ALT_NAMES = {
@@ -399,8 +405,7 @@ class Container(LightHistorizedItem, ImageModel):
)
def __unicode__(self):
- lbl = u"{} ({})".format(self.reference, self.container_type)
- return lbl
+ return self.cached_label
def natural_key(self):
return (self.external_id, )
@@ -444,7 +449,10 @@ class Container(LightHistorizedItem, ImageModel):
@property
def precise_location(self):
- return self.location.name + u" - " + (self.cached_division or u"")
+ location = self.location.name
+ if self.cached_division:
+ location += u" " + self.cached_division
+ return location
def get_localisations(self):
"""