summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/urls.py8
-rw-r--r--archaeological_context_records/views.py27
-rw-r--r--archaeological_finds/urls.py8
-rw-r--r--archaeological_finds/views.py4
-rw-r--r--ishtar_common/static/js/ishtar.js11
-rw-r--r--ishtar_common/templates/ishtar/blocks/sheet_dating_list.html4
-rw-r--r--ishtar_common/templates/ishtar/blocks/window_nav.html1
-rw-r--r--ishtar_common/templates/ishtar/import_table.html1
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&amp;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")});