From 06715e30acf42185a9a7bc07e3ad2e3aee2dd321 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 15 Jan 2019 12:33:41 +0100 Subject: Treatments: settings for M2M history --- archaeological_finds/models_treatments.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'archaeological_finds/models_treatments.py') diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 64bad203d..ad3b92262 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -36,9 +36,10 @@ from archaeological_warehouse.models import Warehouse, Container from ishtar_common.models import Document, GeneralType, \ ImageModel, BaseHistorizedItem, OwnPerms, HistoricalRecords, Person, \ Organization, ValueGetter, post_save_cache, ShortMenuItem, \ - DashboardFormItem, ExternalIdManager, document_attached_changed + DashboardFormItem, ExternalIdManager, document_attached_changed, \ + HistoryModel from ishtar_common.utils import cached_label_changed, get_current_year, \ - update_data + update_data, m2m_historization_changed class TreatmentState(GeneralType): @@ -121,6 +122,9 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, activate(language_code) EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] deactivate() + HISTORICAL_M2M = [ + 'treatment_types', + ] BASE_SEARCH_VECTORS = [ 'treatment_types__label', 'treatment_state__label', 'label', 'goal', @@ -185,7 +189,7 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem, verbose_name=_(u"Main image"), blank=True, null=True) cached_label = models.TextField(_(u"Cached name"), null=True, blank=True, db_index=True) - history = HistoricalRecords() + history = HistoricalRecords(bases=[HistoryModel]) class Meta: verbose_name = _(u"Treatment") @@ -586,6 +590,10 @@ pre_delete.connect(pre_delete_treatment, sender=Treatment) m2m_changed.connect(document_attached_changed, sender=Treatment.documents.through) +for attr in Treatment.HISTORICAL_M2M: + m2m_changed.connect(m2m_historization_changed, + sender=getattr(Treatment, attr).through) + class AbsFindTreatments(models.Model): find = models.ForeignKey(Find, verbose_name=_(u"Find"), -- cgit v1.2.3