From 18d95208a6cfe3cfe03edcc333deff3af14ee6fd Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 26 Jun 2026 14:14:12 +0200 Subject: ✨ JS - manage reload on modal close with tab activation for direct action url MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ishtar/blocks/sheet_statement_condition.html | 2 +- archaeological_finds/views.py | 9 +++++++-- ishtar_common/static/js/ishtar.js | 16 +++++++++++++--- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html b/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html index c546cf725..09cee8cd7 100644 --- a/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html +++ b/archaeological_finds/templates/ishtar/blocks/sheet_statement_condition.html @@ -20,7 +20,7 @@ doc./image {% if not statement_condition.initial or statement_condition.no_associated_statement_condition %} - + {% endif %} diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index b6ee6f37d..63301f778 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -1608,7 +1608,10 @@ def statement_condition_form(request, find_pk, statement_condition_pk=None, request.POST, current_item=item, user=request.user.ishtaruser) if form.is_valid(): form.save() - return HttpResponseRedirect(reverse("success")) + url = reverse("success") + message = str(_("Changes made successfully.")) + url += "?message=" + urllib.parse.quote(message) + return HttpResponseRedirect(url) else: form = forms_treatments.QAStatementCondition( current_item=item, user=request.user.ishtaruser, initial=initial) @@ -1623,7 +1626,9 @@ def statement_condition_form(request, find_pk, statement_condition_pk=None, url += "add" window_id = request.GET.get("window_id", "") window_tab = "warehouse-tab" - reload = "reload_window_" + window_id.replace("-", "_") + reload = "" + if window_id: + reload = "reload_window_" + window_id.replace("-", "_") window_id_root = "-".join(window_id.split("-")[:-1]) return render( request, diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 3835d8677..cb3638e1c 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -1049,7 +1049,8 @@ var register_qa = function(){ $(".btn-qa").click(function(){ let target = $(this).attr('data-target'); let window_id = $(this).attr('data-window'); - dt_qa_open(target, null, window_id); + let window_tab = $(this).attr('data-window-tab'); + dt_qa_open(target, null, window_id, window_tab); }); }; @@ -1059,7 +1060,8 @@ var register_qa_confirm = function(){ let target = $(this).attr('data-target'); if (!confirm(confirm_message)) return; let window_id = $(this).attr('data-window'); - dt_qa_open(target, null, window_id); + let window_tab = $(this).attr('data-window-tab'); + dt_qa_open(target, null, window_id, window_tab); }); }; @@ -1264,7 +1266,7 @@ var dt_generate_qa_url = function (table, url){ return url; }; -var dt_qa_open = function (url, modal_id, window_id){ +var dt_qa_open = function (url, modal_id, window_id, window_tab){ if (!modal_id) modal_id = "modal-dynamic-form"; if (!$('#' + modal_id).length){ let src = '