diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-20 19:49:52 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-11 17:30:46 +0100 |
commit | 686386b1994aac7df90b12a3ab40000e02e1eda7 (patch) | |
tree | 3ae604ef9a36c7edaac48530db753810324e5494 /archaeological_operations/models.py | |
parent | fc9b4ecbba8e121e0d811a6d2e6fb64d8b27b475 (diff) | |
download | Ishtar-686386b1994aac7df90b12a3ab40000e02e1eda7.tar.bz2 Ishtar-686386b1994aac7df90b12a3ab40000e02e1eda7.zip |
Manage main image: model, auto associate default image
Diffstat (limited to 'archaeological_operations/models.py')
-rw-r--r-- | archaeological_operations/models.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index d8233ba0f..0b506e12b 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -36,7 +36,8 @@ from ishtar_common.models import BaseHistorizedItem, Dashboard, \ HistoricalRecords, IshtarUser, LightHistorizedItem, \ OperationType, Organization, OwnPerms, Person, PersonType, \ post_delete_record_relation, post_save_cache, RelationItem, \ - ShortMenuItem, SourceType, Town, ValueGetter, get_current_profile + ShortMenuItem, SourceType, Town, ValueGetter, get_current_profile, \ + document_attached_changed from ishtar_common.utils import cached_label_changed, \ force_cached_label_changed, mode @@ -267,6 +268,9 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, documents = models.ManyToManyField( Document, related_name="sites", verbose_name=_(u"Documents"), blank=True) + main_image = models.ForeignKey( + Document, related_name='main_image_sites', + verbose_name=_(u"Main image"), blank=True, null=True) cached_label = models.TextField(_(u"Cached name"), null=True, blank=True, db_index=True) @@ -420,6 +424,9 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, post_save.connect(cached_label_changed, sender=ArchaeologicalSite) +m2m_changed.connect(document_attached_changed, + sender=ArchaeologicalSite.documents.through) + def get_values_town_related(item, prefix, values): values[prefix + 'parcellist'] = item.render_parcels() @@ -845,6 +852,9 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, documents = models.ManyToManyField( Document, related_name='operations', verbose_name=_(u"Documents"), blank=True) + main_image = models.ForeignKey( + Document, related_name='main_image_operations', + verbose_name=_(u"Main image"), blank=True, null=True) cached_label = models.CharField(_(u"Cached name"), max_length=500, null=True, blank=True, db_index=True) archaeological_sites = models.ManyToManyField( @@ -1386,6 +1396,8 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, m2m_changed.connect(force_cached_label_changed, sender=Operation.towns.through) +m2m_changed.connect(document_attached_changed, + sender=Operation.documents.through) def operation_post_save(sender, **kwargs): |