diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/models.py | 10 | ||||
| -rw-r--r-- | archaeological_operations/templates/ishtar/sheet_site.html | 14 | ||||
| -rw-r--r-- | archaeological_operations/urls.py | 27 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 26 |
4 files changed, 74 insertions, 3 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 62c0bcf93..7bf654639 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -920,6 +920,16 @@ class ArchaeologicalSite( if can_edit_site and not is_locked: actions += [ ( + reverse("site-dating-add", args=[self.pk]), + _("Add dating"), + "fa fa-plus", + _("dating"), + "", + True, + ), + ] + actions += [ + ( reverse("site-operation-relations-modify", args=[self.pk, window_id]), _("Modify site-operation relations"), "fa fa-retweet", diff --git a/archaeological_operations/templates/ishtar/sheet_site.html b/archaeological_operations/templates/ishtar/sheet_site.html index 7fda4efe0..1de4c367f 100644 --- a/archaeological_operations/templates/ishtar/sheet_site.html +++ b/archaeological_operations/templates/ishtar/sheet_site.html @@ -8,6 +8,11 @@ {% endblock %} {% block content %} +{# trick to set to null non existing variable #} +{% with permission_view_own_archaeologicalsite=permission_view_own_archaeologicalsite %} + +{% with can_change=permission_change_own_archaeologicalsite|or_:permission_change_archaeologicalsite %} +{% with dating_list=item|m2m_listing:"datings" %} {% with permission_change_own_geovectordata=permission_change_own_geovectordata %} {% with permission_change_geovectordata=permission_change_geovectordata %} @@ -52,6 +57,13 @@ {% endif %} {% field_flex_full _("Comment") item.comment "<pre>" "</pre>" %} </div> +{% if item.cached_periods or dating_list %} + <h3>{% trans "Periods / Datings" %}</h3> + {% field_flex_multiple_obj _("Periods") item 'periods' %} + {% with url_dating="site-dating" %} + {% include "ishtar/blocks/sheet_dating_list.html" %} + {% endwith %} +{% endif %} {% if item.cached_types or item.nature_of_site or item.interpretation_level or item.discovery_status or item.cached_current_states or item.cached_periods or item.cached_remains or item.cultural_attributions.count or item.discoverer %} <h3>{% trans "Scientific" %}</h3> <div class="row"> @@ -152,5 +164,5 @@ {% endif %} {% endif %} -{% endwith %} {% endwith %} {% endwith %} +{% endwith %}{% endwith %}{% endwith %}{% endwith %}{% endwith %}{% endwith %} {% endblock %} diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index 3082418d9..2af502f9f 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -424,6 +424,33 @@ urlpatterns = [ name="site-qa-link", kwargs={"model": models.ArchaeologicalSite, "url": "site-qa-link"}, ), + path( + "site-dating/<int:pk>/", + check_permissions( + ["archaeological_sites.change_archaeologicalsite", + "archaeological_sites.change_own_archaeologicalsite"])( + views.site_dating_add + ), + name="site-dating-add", + ), + path( + "site-dating/<int:pk>/<int:dating_pk>/", + check_permissions( + ["archaeological_sites.change_archaeologicalsite", + "archaeological_sites.change_own_archaeologicalsite"])( + views.site_dating_modify + ), + name="site-dating-modify", + ), + path( + "site-dating-delete/<int:dating_pk>/", + check_permissions( + ["archaeological_sites.change_archaeologicalsite", + "archaeological_sites.change_own_archaeologicalsite"])( + views.site_dating_delete + ), + name="site-dating-delete", + ), re_path( r"^site-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index ecba76e05..3449290e0 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -43,7 +43,10 @@ from ishtar_common.models import ( ) from archaeological_context_records.models import ContextRecord from ishtar_common.utils import check_permissions_condition + from ishtar_common.views import ( + get_dating_delete, + get_dating_form, gen_generate_doc, QAItemEditForm, QABaseLockView, @@ -662,8 +665,27 @@ def operation_site_modify(model, related_model, related_key, formset_class, url_ return view -operation_site_modify_relations = operation_site_modify(models.Operation, models.ArchaeologicalSite, "archaeological_sites", forms.OpeSiteRelationsFormSet, "operation-site-relations-modify") -site_operation_modify_relations = operation_site_modify(models.ArchaeologicalSite, models.Operation, "operations", forms.SiteOpeRelationsFormSet, "site-operation-relations-modify") +operation_site_modify_relations = operation_site_modify( + models.Operation, models.ArchaeologicalSite, "archaeological_sites", + forms.OpeSiteRelationsFormSet, "operation-site-relations-modify") +site_operation_modify_relations = operation_site_modify( + models.ArchaeologicalSite, models.Operation, "operations", + forms.SiteOpeRelationsFormSet, "site-operation-relations-modify") + + +site_dating_add = get_dating_form( + models.ArchaeologicalSite, models.SiteDating, "site-dating-add" +) + + +site_dating_modify = get_dating_form( + models.ArchaeologicalSite, models.SiteDating, "site-dating-modify" +) + + +site_dating_delete = get_dating_delete( + models.ArchaeologicalSite, models.SiteDating, "site-dating-delete" +) # archaeological sites |
