From 8279d1c668a54868e7195d20eb39d1ce4c5a1c06 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 23 Apr 2018 18:40:47 +0200 Subject: Images: add a main_image field (refs #4076) - Add images associated to warehouses (refs #3879) --- archaeological_finds/models_treatments.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'archaeological_finds/models_treatments.py') diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index b35912fd0..f96a0febf 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -125,7 +125,7 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, target_is_basket = models.BooleanField(_(u"Target a basket"), default=False) images = models.ManyToManyField(IshtarImage, verbose_name=_(u"Images"), - blank=True) + blank=True, through='TreatmentImage') cached_label = models.TextField(_(u"Cached name"), null=True, blank=True, db_index=True) history = HistoricalRecords() @@ -307,6 +307,12 @@ def pre_delete_treatment(sender, **kwargs): pre_delete.connect(pre_delete_treatment, sender=Treatment) +class TreatmentImage(models.Model): + image = models.ForeignKey(IshtarImage, on_delete=models.CASCADE) + treatment = models.ForeignKey(Treatment, on_delete=models.CASCADE) + is_main = models.BooleanField(_(u"Main image"), default=False) + + class AbsFindTreatments(models.Model): find = models.ForeignKey(Find, verbose_name=_(u"Find"), related_name='%(class)s_related') @@ -602,6 +608,7 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem, self.pre_save() super(TreatmentFile, self).save(*args, **kwargs) + post_save.connect(cached_label_changed, sender=TreatmentFile) -- cgit v1.2.3