summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/models.py57
1 files changed, 43 insertions, 14 deletions
diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py
index e047e21cf..84a041a41 100644
--- a/archaeological_finds/models.py
+++ b/archaeological_finds/models.py
@@ -167,6 +167,49 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms):
thumbnail = self._meta.get_field_by_name("thumbnail")[0]
thumbnail.upload_to = "finds/thumbs/"
+ class Meta:
+ verbose_name = _(u"Find")
+ verbose_name_plural = _(u"Finds")
+ permissions = (
+ ("view_find", ugettext(u"Can view all Find")),
+ ("view_own_find", ugettext(u"Can view own Find")),
+ ("add_own_find", ugettext(u"Can add own Find")),
+ ("change_own_find", ugettext(u"Can change own Find")),
+ ("delete_own_find", ugettext(u"Can delete own Find")),
+ )
+
+ @property
+ def short_class_name(self):
+ return _(u"FIND")
+
+ def __unicode__(self):
+ return self.label
+
+ def get_first_base_find(self):
+ q= self.base_finds
+ if not q.count():
+ return
+ return q.all()[0]
+
+ @property
+ def reference(self):
+ bf = self.get_first_base_find()
+ if not bf:
+ return "00"
+ return bf.short_id()
+
+ def get_department(self):
+ bf = self.get_first_base_find()
+ if not bf:
+ return "00"
+ return bf.context_record.operation.get_department()
+
+ def get_town_label(self):
+ bf = self.get_first_base_find()
+ if not bf:
+ return "00"
+ return bf.context_record.operation.get_town_label()
+
@classmethod
def get_years(cls):
years = set()
@@ -220,20 +263,6 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms):
new.base_finds.add(base_find)
return new
- class Meta:
- verbose_name = _(u"Find")
- verbose_name_plural = _(u"Finds")
- permissions = (
- ("view_find", ugettext(u"Can view all Find")),
- ("view_own_find", ugettext(u"Can view own Find")),
- ("add_own_find", ugettext(u"Can add own Find")),
- ("change_own_find", ugettext(u"Can change own Find")),
- ("delete_own_find", ugettext(u"Can delete own Find")),
- )
-
- def __unicode__(self):
- return self.label
-
def save(self, *args, **kwargs):
if not self.pk:
super(Find, self).save(*args, **kwargs)