diff options
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r-- | archaeological_operations/models.py | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index aa9103f61..5ff3ddc2f 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -38,8 +38,8 @@ from ishtar_common.models import GeneralType, BaseHistorizedItem, \ SourceType, Person, Organization, Town, Dashboard, IshtarUser, ValueGetter,\ DocumentTemplate, ShortMenuItem, DashboardFormItem, GeneralRelationType,\ GeneralRecordRelations, post_delete_record_relation, OperationType, \ - ImageModel, post_save_cache, PersonType, IshtarImage, get_image_path, \ - RelationItem + ImageModel, post_save_cache, PersonType, IshtarImage, \ + RelationItem, ThroughImage class RemainType(GeneralType): @@ -220,10 +220,9 @@ class ArchaeologicalSite(BaseHistorizedItem): ) -class SiteImage(models.Model): - image = models.ForeignKey(IshtarImage, on_delete=models.CASCADE) - site = models.ForeignKey(ArchaeologicalSite, on_delete=models.CASCADE) - is_main = models.BooleanField(_(u"Main image"), default=False) +class SiteImage(ThroughImage): + item = models.ForeignKey(ArchaeologicalSite, on_delete=models.CASCADE, + related_name='associated_images') def get_values_town_related(item, prefix, values): @@ -246,6 +245,7 @@ def get_values_town_related(item, prefix, values): number=dpt).count()]) return values + QUALITY = (('ND', _(u"Not documented")), ('A', _(u"Arbitrary")), ('R', _(u"Reliable")),) @@ -613,8 +613,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, return True def _get_base_image_path(self): - return u"operation/{}/{}".format( - self.year, self.reference) + return u"{}/{}/{}".format(self.SLUG, self.year, self.reference) def get_town_label(self): lbl = unicode(_('Intercommunal')) @@ -979,14 +978,9 @@ def operation_post_save(sender, **kwargs): post_save.connect(operation_post_save, sender=Operation) -class OperationImage(models.Model): - image = models.ForeignKey(IshtarImage, on_delete=models.CASCADE) - operation = models.ForeignKey(Operation, on_delete=models.CASCADE, - related_name='associated_images') - is_main = models.BooleanField(_(u"Main image"), default=False) - - class Meta: - ordering = ('operation', '-is_main', 'image__name') +class OperationImage(ThroughImage): + item = models.ForeignKey(Operation, on_delete=models.CASCADE, + related_name='associated_images') class RelationType(GeneralRelationType): |