diff options
Diffstat (limited to 'archaeological_operations')
-rw-r--r-- | archaeological_operations/models.py | 21 | ||||
-rw-r--r-- | archaeological_operations/templates/ishtar/sheet_operation.html | 13 | ||||
-rw-r--r-- | archaeological_operations/templates/ishtar/sheet_site.html | 15 |
3 files changed, 40 insertions, 9 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 0b506e12b..7d194074d 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -37,9 +37,9 @@ from ishtar_common.models import BaseHistorizedItem, Dashboard, \ OperationType, Organization, OwnPerms, Person, PersonType, \ post_delete_record_relation, post_save_cache, RelationItem, \ ShortMenuItem, SourceType, Town, ValueGetter, get_current_profile, \ - document_attached_changed + document_attached_changed, HistoryModel from ishtar_common.utils import cached_label_changed, \ - force_cached_label_changed, mode + force_cached_label_changed, mode, m2m_historization_changed class RemainType(GeneralType): @@ -218,6 +218,7 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, RELATIVE_SESSION_NAMES = [ ('operation', 'operations__pk'), ] + HISTORICAL_M2M = ['periods', 'remains', 'towns'] # objects = SiteManager() @@ -274,7 +275,7 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, 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"Archaeological site") @@ -427,6 +428,10 @@ post_save.connect(cached_label_changed, sender=ArchaeologicalSite) m2m_changed.connect(document_attached_changed, sender=ArchaeologicalSite.documents.through) +for attr in ArchaeologicalSite.HISTORICAL_M2M: + m2m_changed.connect(m2m_historization_changed, + sender=getattr(ArchaeologicalSite, attr).through) + def get_values_town_related(item, prefix, values): values[prefix + 'parcellist'] = item.render_parcels() @@ -757,6 +762,10 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, 'towns__numero_insee__startswith': '_get_department_code', } + HISTORICAL_M2M = [ + 'remains', 'towns', 'periods', + ] + # fields definition creation_date = models.DateField(_(u"Creation date"), default=datetime.date.today) @@ -893,7 +902,7 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, point = models.PointField(_(u"Point"), blank=True, null=True) multi_polygon = models.MultiPolygonField(_(u"Multi polygon"), blank=True, null=True) - history = HistoricalRecords() + history = HistoricalRecords(bases=[HistoryModel]) class Meta: verbose_name = _(u"Operation") @@ -1399,6 +1408,10 @@ m2m_changed.connect(force_cached_label_changed, sender=Operation.towns.through) m2m_changed.connect(document_attached_changed, sender=Operation.documents.through) +for attr in Operation.HISTORICAL_M2M: + m2m_changed.connect(m2m_historization_changed, + sender=getattr(Operation, attr).through) + def operation_post_save(sender, **kwargs): if not kwargs['instance']: diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html index 8801855cd..f13a21336 100644 --- a/archaeological_operations/templates/ishtar/sheet_operation.html +++ b/archaeological_operations/templates/ishtar/sheet_operation.html @@ -96,8 +96,8 @@ </div> </div> <div class="row"> - {% field_flex_multiple "Remains" item.remains %} - {% field_flex_multiple "Periods" item.periods %} + {% field_flex_multiple_obj "Remains" item 'remains' %} + {% field_flex_multiple_obj "Periods" item 'periods' %} {% field_flex "Record quality" item.record_quality_type %} {% field_flex "Report delivery date" item.report_delivery_date %} {% field_flex "Report processing" item.report_processing %} @@ -155,7 +155,14 @@ </div> {% endif %} -{% if not next %} +{% if next %} +{% if item|m2m_listing:'towns' %} +<h3>{% trans "Localisation"%}</h3> +<div class="row"> + {% field_flex_full "Towns" item|m2m_listing:'towns'|join:" ; " %} +</div> +{% endif %} +{% else %} {% if item.towns.count %} <h3>{% trans "Localisation"%}</h3> <div class="row"> diff --git a/archaeological_operations/templates/ishtar/sheet_site.html b/archaeological_operations/templates/ishtar/sheet_site.html index 0108d3db6..14c30bd38 100644 --- a/archaeological_operations/templates/ishtar/sheet_site.html +++ b/archaeological_operations/templates/ishtar/sheet_site.html @@ -34,12 +34,22 @@ <div class="row"> {% include "ishtar/blocks/sheet_creation_section.html" %} - {% field_flex_multiple "Periods" item.periods %} - {% field_flex_multiple "Remains" item.remains %} + {% field_flex_multiple_obj "Periods" item 'periods' %} + {% field_flex_multiple_obj "Remains" item 'remains' %} {% field_flex_multiple "Collaborators" item.collaborators %} {% field_flex_full "Comment" item.comment "<pre>" "</pre>" %} </div> +{% if next %} +{% if item|m2m_listing:'towns' or item.locality_ngi or item.locality_cadastral %} +<h3>{% trans "Localisation"%}</h3> +<div class="row"> + {% field_flex_full "Towns" item|m2m_listing:'towns'|join:" ; " %} + {% field_flex_full "National Geographic Institute locality" item.locality_ngi "<pre>" "</pre>" %} + {% field_flex_full "Cadastral locality" item.locality_cadastral "<pre>" "</pre>" %} +</div> +{% endif %} +{% else %} {% if item.towns.count or item.locality_ngi or item.locality_cadastral %} <h3>{% trans "Localisation"%}</h3> <div class="row"> @@ -48,6 +58,7 @@ {% field_flex_full "Cadastral locality" item.locality_cadastral "<pre>" "</pre>" %} </div> {% endif %} +{% endif %} {% if item.affmar_number or item.drassm_number or item.oceanographic_service_localisation or item.shipwreck_code or item.sinking_date or item.discovery_area or item.shipwreck_name %} <h3>{% trans "Underwater"%}</h3> |