summaryrefslogtreecommitdiff
path: root/archaeological_context_records/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r--archaeological_context_records/models.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 1ae661524..08c6f1d93 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -34,7 +34,7 @@ from ishtar_common.models import GeneralType, BaseHistorizedItem, \
HistoricalRecords, OwnPerms, ShortMenuItem, Source, GeneralRelationType,\
GeneralRecordRelations, post_delete_record_relation, get_image_path, \
post_save_cache, ValueGetter, BulkUpdatedItem, IshtarImage, RelationItem, \
- ThroughImage
+ Town, ThroughImage
from archaeological_operations.models import Operation, Period, Parcel, \
ArchaeologicalSite
@@ -264,6 +264,9 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
parcel = models.ForeignKey(
Parcel, verbose_name=_(u"Parcel"), related_name='context_record',
blank=True, null=True)
+ town = models.ForeignKey(
+ Town, verbose_name=_(u"Town"), related_name='context_record',
+ blank=True, null=True)
operation = models.ForeignKey(Operation, verbose_name=_(u"Operation"),
related_name='context_record')
archaeological_site = models.ForeignKey(
@@ -557,6 +560,14 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
"""
Dating.fix_dating_association(self)
+ def save(self, *args, **kwargs):
+ super(ContextRecord, self).save(*args, **kwargs)
+ if (not self.town and self.parcel) or (
+ self.parcel and self.parcel.town != self.town):
+ self.town = self.parcel.town
+ self.skip_history_when_saving = True
+ self.save()
+
post_save.connect(cached_label_changed, sender=ContextRecord)