From b7771d2dac04fc6f183a64921f00c1a72bab0142 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 28 Feb 2024 09:46:43 -0500 Subject: [PATCH] Bug 36246: Add JS function/include for submitting forms from link data This patch adds a new js include file form-submit.js which will read data elements from a link and use those to submit a form This patch fixes forms on acqui/invoice.pl as an example To test: 1 - Add some invoices for a vendor 2 - Got to Acquisitions->Invoices 3 - Actions -> Close - confirm it works 4 - Got to 'Closed invoices' - reopen 5 - Go to Details on the invoice 6 - Add an adjustment 7 - Delete the adjustment 8 - Confirm it works Signed-off-by: David Nind --- acqui/invoice.pl | 6 ++-- .../prog/en/modules/acqui/invoice.tt | 8 ++--- .../prog/en/modules/acqui/invoices.tt | 7 ++-- .../intranet-tmpl/prog/js/form-submit.js | 34 +++++++++++++++++++ 4 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/js/form-submit.js diff --git a/acqui/invoice.pl b/acqui/invoice.pl index 6e7724c749..2c88908086 100755 --- a/acqui/invoice.pl +++ b/acqui/invoice.pl @@ -71,7 +71,7 @@ if ( C4::Context->preference('AcqEnableFiles') ) { tabletag => 'aqinvoices', recordid => $invoiceid ); } -if ( $op && $op eq 'close' ) { +if ( $op && $op eq 'cud-close' ) { output_and_exit( $input, $cookie, $template, 'insufficient_permission' ) unless $logged_in_patron->has_permission( { acquisition => 'edit_invoices' } ); my @invoiceid = $input->multi_param('invoiceid'); @@ -84,7 +84,7 @@ if ( $op && $op eq 'close' ) { exit 0; } } -elsif ( $op && $op eq 'reopen' ) { +elsif ( $op && $op eq 'cud-reopen' ) { output_and_exit( $input, $cookie, $template, 'insufficient_permission' ) unless $logged_in_patron->has_permission( { acquisition => 'reopen_closed_invoices' } ); my @invoiceid = $input->multi_param('invoiceid'); @@ -154,7 +154,7 @@ elsif ( $op && $op eq 'cud-delete' ) { exit 0; } } -elsif ( $op && $op eq 'del_adj' ) { +elsif ( $op && $op eq 'cud-del_adj' ) { output_and_exit( $input, $cookie, $template, 'insufficient_permission' ) unless $logged_in_patron->has_permission( { acquisition => 'edit_invoices' } ); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt index 05d0f8382b..d72da4fe9f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt @@ -230,7 +230,8 @@ [% END # /IF adjustment.encumber_open %] [% UNLESS readonly %] - Delete + + Delete [% END %] @@ -537,7 +538,9 @@ [% MACRO jsinclude BLOCK %] + [% Asset.js("js/acquisitions-menu.js") | $raw %] + [% Asset.js("js/form-submit.js") | $raw %] [% Asset.js("lib/jquery/plugins/humanmsg.js") | $raw %] [% Asset.js("js/acq.js") | $raw %] [% INCLUDE 'calendar.inc' %] @@ -586,9 +589,6 @@ e.preventDefault(); $("#show_invoice_adjustment, #cancel_invoice_adjustment, #add_invoice_adjustment").toggle(); }); - $("a.delete_adjustment").click(function(){ - return ( confirm( _("Are you sure you want to delete this file ?") ) ); - }); //keep a copy of all budgets before removing the inactives var disabledBudgetsCopy = $("#all_fund_dropdown").html(); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt index b045a90264..ba2b94e5bf 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt @@ -102,16 +102,16 @@
  • Details
  • [% IF invoice.closedate %] [% IF CAN_user_acquisition_reopen_closed_invoices %] -
  • Reopen
  • +
  • Reopen
  • [% END %] [% ELSE %] [% IF CAN_user_acquisition_edit_invoices %] -
  • Close
  • +
  • Close
  • [% END %] [% END # /IF invoice.closedate %] [% UNLESS invoice.receivedbiblios || invoice.receiveditems %] [% IF CAN_user_acquisition_delete_invoices %] -
  • Delete
  • +
  • Delete
  • [% END %] [% END %] @@ -423,6 +423,7 @@ [% MACRO jsinclude BLOCK %] [% Asset.js("js/acquisitions-menu.js") | $raw %] + [% Asset.js("js/form-submit.js") | $raw %] [% INCLUDE 'datatables.inc' %] [% INCLUDE 'calendar.inc' %]