summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-15 17:51:10 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-15 17:51:10 +0100
commit04b76c34eacbd9ca39e4d4f61c7c57adf6412107 (patch)
treedbbf01b44482b7d17d0e7008de43774ea11b6df0 /archaeological_files/models.py
parent83f721df61b06963e2751d8590f8d5fd64d15dac (diff)
downloadIshtar-04b76c34eacbd9ca39e4d4f61c7c57adf6412107.tar.bz2
Ishtar-04b76c34eacbd9ca39e4d4f61c7c57adf6412107.zip
File: settings for M2M history
Diffstat (limited to 'archaeological_files/models.py')
-rw-r--r--archaeological_files/models.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 4d0422f3c..16f3e4de9 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -28,12 +28,12 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \
activate, deactivate
from ishtar_common.utils import cached_label_changed, get_cache, \
- get_current_year
+ get_current_year, m2m_historization_changed
from ishtar_common.models import GeneralType, BaseHistorizedItem, \
HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \
Dashboard, DashboardFormItem, ValueGetter, ShortMenuItem, \
- OperationType, get_external_id, post_save_cache, Document
+ OperationType, get_external_id, post_save_cache, Document, HistoryModel
from archaeological_operations.models import get_values_town_related, \
ClosedItem
@@ -217,6 +217,8 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
'towns__numero_insee__startswith': '_get_department_code',
}
+ HISTORICAL_M2M = ['towns', 'departments']
+
# fields
year = models.IntegerField(_(u"Year"), default=get_current_year)
numeric_reference = models.IntegerField(
@@ -325,7 +327,7 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
db_index=True)
imported_line = models.TextField(_(u"Imported line"), null=True,
blank=True)
- history = HistoricalRecords()
+ history = HistoricalRecords(bases=[HistoryModel])
GET_VALUES_EXTRA = [
'general_contractor_address_1',
@@ -692,9 +694,15 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,
def is_preventive(self):
return FileType.is_preventive(self.file_type.pk)
+
m2m_changed.connect(cached_label_changed, sender=File.towns.through)
+
post_save.connect(cached_label_changed, sender=File)
+for attr in File.HISTORICAL_M2M:
+ m2m_changed.connect(m2m_historization_changed,
+ sender=getattr(File, attr).through)
+
class FileByDepartment(models.Model):
"""