diff options
Diffstat (limited to 'archaeological_context_records/models.py')
| -rw-r--r-- | archaeological_context_records/models.py | 13 | 
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)  | 
