diff options
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/models.py | 57 |
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) |