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.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py
index a0da12601..42a9bb310 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, ShortMenuItem, \
+ DashboardFormItem, ExternalIdManager, ShortMenuItem, \
document_attached_changed, SearchAltName
from ishtar_common.utils import cached_label_changed
@@ -316,7 +316,7 @@ post_save.connect(post_save_cache, sender=ContainerType)
post_delete.connect(post_save_cache, sender=ContainerType)
-class Container(LightHistorizedItem, ImageModel, OwnPerms):
+class Container(LightHistorizedItem, OwnPerms):
SLUG = 'container'
SHOW_URL = 'show-container'
TABLE_COLS = ['reference', 'container_type__label', 'cached_location',
@@ -393,6 +393,13 @@ class Container(LightHistorizedItem, ImageModel, OwnPerms):
external_id = models.TextField(_(u"External ID"), blank=True, null=True)
auto_external_id = models.BooleanField(
_(u"External ID is set automatically"), default=False)
+ documents = models.ManyToManyField(
+ Document, related_name='containers', verbose_name=_(u"Documents"),
+ blank=True)
+ main_image = models.ForeignKey(
+ Document, related_name='main_image_containers',
+ on_delete=models.SET_NULL,
+ verbose_name=_(u"Main image"), blank=True, null=True)
class Meta:
verbose_name = _(u"Container")
@@ -431,6 +438,9 @@ class Container(LightHistorizedItem, ImageModel, OwnPerms):
]
return u" | ".join(locas)
+ def _get_base_image_path(self):
+ return self.responsible._get_base_image_path() + u"/" + self.external_id
+
@classmethod
def get_query_owns(cls, ishtaruser):
return Q(history_creator=ishtaruser.user_ptr) | \
@@ -631,6 +641,9 @@ class Container(LightHistorizedItem, ImageModel, OwnPerms):
post_save.connect(cached_label_changed, sender=Container)
+m2m_changed.connect(document_attached_changed,
+ sender=Container.documents.through)
+
class ContainerLocalisation(models.Model):
container = models.ForeignKey(Container, verbose_name=_(u"Container"),