diff options
| -rw-r--r-- | archaeological_context_records/urls.py | 8 | ||||
| -rw-r--r-- | archaeological_context_records/views.py | 27 | ||||
| -rw-r--r-- | archaeological_finds/urls.py | 8 | ||||
| -rw-r--r-- | archaeological_finds/views.py | 4 | ||||
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 11 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/sheet_dating_list.html | 4 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/window_nav.html | 1 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/import_table.html | 1 |
8 files changed, 61 insertions, 3 deletions
diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index fe2b6bde1..b94a2b3ba 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -177,6 +177,14 @@ urlpatterns = [ ), name="context-record-dating-modify", ), + path( + "context-record-dating-delete/<int:dating_pk>/", + check_permissions(["archaeological_context_records.change_contextrecord", + "archaeological_context_records.change_own_contextrecord"])( + views.context_record_dating_delete + ), + name="context-record-dating-delete", + ), re_path( r"^operation-qa-contextrecord/(?P<pks>[0-9]+)/$", check_permissions(["archaeological_context_records.add_contextrecord"])( diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 057e3ab61..98e9ef0f2 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -255,6 +255,33 @@ context_record_dating_modify = get_dating_form( ) +def get_dating_delete(model, dating_model, url_name): + def _dating_form(request, dating_pk, current_right=None): + try: + dating_item = dating_model.objects.get(pk=dating_pk) + except dating_model.DoesNotExist: + raise Http404() + pk = getattr(dating_item, dating_model.CURRENT_MODEL_ATTR + "_id") + try: + item = model.objects.get(pk=pk) + except model.DoesNotExist: + raise Http404() + if "_own_" in current_right: + if not request.user.has_perm(current_right, item): + raise PermissionDenied() + elif current_right: + if not request.user.has_perm(current_right): + raise PermissionDenied() + dating_item.delete() + return HttpResponseRedirect(reverse("success")) + return _dating_form + + +context_record_dating_delete = get_dating_delete( + models.ContextRecord, models.ContextRecordDating, "context-record-dating-delete" +) + + class GenerateRelationImage(IshtarMixin, LoginRequiredMixin, RedirectView): upper_model = models.Operation model = models.ContextRecord diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 188e0e532..345043c12 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -91,6 +91,14 @@ urlpatterns = [ ), name="find-dating-modify", ), + path( + "find-dating-delete/<int:dating_pk>/", + check_permissions(["archaeological_finds.change_find", + "archaeological_finds.change_own_find"])( + views.find_dating_delete + ), + name="find-dating-delete", + ), re_path(r"get-findbasket/$", views.get_find_basket, name="get-findbasket"), re_path( r"get-findbasket-write/$", diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 9c10f65ae..bbde421ab 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -61,7 +61,7 @@ from ishtar_common.views_item import ( get_autocomplete_queries, get_autocomplete_query ) -from archaeological_context_records.views import get_dating_form +from archaeological_context_records.views import get_dating_delete, get_dating_form from archaeological_operations.wizards import AdministrativeActDeletionWizard from archaeological_finds import wizards @@ -1429,6 +1429,8 @@ class QAFindLockView(QABaseLockView): find_dating_add = get_dating_form(models.Find, models.FindDating, "find-dating-add") find_dating_modify = get_dating_form(models.Find, models.FindDating, "find-dating-modify") +find_dating_delete = get_dating_delete( + models.Find, models.FindDating, "find-dating-delete") def get_geo_items(request, current_right=None): diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index f091aed85..bd94f525e 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -965,7 +965,16 @@ function toggle_window_menu(){ var register_qa = function(){ $(".btn-qa").click(function(){ - var target = $(this).attr('data-target'); + let target = $(this).attr('data-target'); + dt_qa_open(target); + }); +}; + +var register_qa_confirm = function(){ + $(".btn-qa-confirm").click(function(){ + let confirm_message = $(this).attr('data-confirm'); + let target = $(this).attr('data-target'); + if (!confirm(confirm_message)) return; dt_qa_open(target); }); }; diff --git a/ishtar_common/templates/ishtar/blocks/sheet_dating_list.html b/ishtar_common/templates/ishtar/blocks/sheet_dating_list.html index cc1add777..468da6bf6 100644 --- a/ishtar_common/templates/ishtar/blocks/sheet_dating_list.html +++ b/ishtar_common/templates/ishtar/blocks/sheet_dating_list.html @@ -40,7 +40,9 @@ <i class="fa fa-pencil"></i></a> </td> <td> - <a class="btn btn-danger btn-sm" title="Supprimer" href="/geo/delete/37130/?find_id=94034&back_url=/find_search/%3Fopen_item=46434"> + <a class="btn btn-qa-confirm btn-danger btn-sm" title="{% trans 'Delete' %}" + href="#" data-target="{% url url_dating|add:'-delete' dating.pk %}" + data-confirm="{% trans 'Are you sure you want to delete this datation? (no undo)' %}"'> <i class="fa fa-trash"></i></a> </td> diff --git a/ishtar_common/templates/ishtar/blocks/window_nav.html b/ishtar_common/templates/ishtar/blocks/window_nav.html index fef17cb7a..b30fc683b 100644 --- a/ishtar_common/templates/ishtar/blocks/window_nav.html +++ b/ishtar_common/templates/ishtar/blocks/window_nav.html @@ -122,6 +122,7 @@ <script type="text/javascript"> $(document).ready(function(){ register_qa(); + register_qa_confirm(); }); </script> {% else %} diff --git a/ishtar_common/templates/ishtar/import_table.html b/ishtar_common/templates/ishtar/import_table.html index b4e501dab..7c1a5da8b 100644 --- a/ishtar_common/templates/ishtar/import_table.html +++ b/ishtar_common/templates/ishtar/import_table.html @@ -23,6 +23,7 @@ $(document).ready(function(){ setTimeout(function(){$(".alert-info.alert-dismissible").hide("fade");}, 5000); register_qa(); + register_qa_confirm(); register_vscroll_icons(); display_horizontal_nav("#import-container"); $(window).on('resize', function() {display_horizontal_nav("#import-container")}); |
