From ddeeb69a1d59c5e381eacc36f28faf0c243da99d Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Wed, 26 Jun 2024 10:56:15 +0000 Subject: [PATCH] Bug 37116: Redirect to batch serial modification when batch modifying items Test plan: - Add a new subscription to a serial record (with option 'When receiving the serial --> create an item record') - Receive several issues and create the items linked - Back to bibliographic record - Select several items and click to 'Modify selected items' - Modify data (like add a public note) - A box opens indicating that 'some of the items have linked serial issues, would you like to edit these as well ?' - Click on "Edit serial issue" - We switch to the issues - Modify data of the issues (add a note for example like for the items) and save - Both modifications (item and issue) are validated --- .../en/includes/modals/edit_serial_issues.inc | 18 +++++++++++++--- .../prog/en/modules/tools/batchMod-edit.tt | 11 +++++++++- .../intranet-tmpl/prog/js/pages/batchMod.js | 16 ++++++++++++++ tools/batchMod.pl | 21 +++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/modals/edit_serial_issues.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/modals/edit_serial_issues.inc index 53a1c03e1a5..7b227e5d185 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/modals/edit_serial_issues.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/modals/edit_serial_issues.inc @@ -9,11 +9,23 @@ diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt index b2b3161f21b..9aaae0a7a68 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt @@ -162,6 +162,9 @@ + [% FOREACH linked_serial_id IN linked_serial_ids %] + + [% END %] [% IF biblionumber %] [% END %] @@ -237,7 +240,12 @@
- + [% IF linked_serials %] + + + [% ELSE %] + + [% END %] Cancel
@@ -260,6 +268,7 @@ [% END %] + [% INCLUDE 'modals/edit_serial_issues.inc' batch=1 %] [% MACRO jsinclude BLOCK %] [% Asset.js("lib/jquery/plugins/humanmsg.js") | $raw %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js index df428f831bf..f403e600719 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js +++ b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js @@ -117,6 +117,11 @@ function hideAllColumns() { Cookies.set("showColumns", cookieString, { expires: date, path: '/', sameSite: 'Lax' }); } +function ShowSerialEditingConfirmation(form) { + $('#edit-serial-issues-modal').modal('show'); + return false; +} + $(document).ready(function () { var items_table = KohaTable("itemst", { "columnDefs": [ @@ -166,4 +171,15 @@ $(document).ready(function () { } } }); + $(document).on('click', '#edit-serial-issues-modal-btn-submit', function (e) { + e.preventDefault(); + $('#edit-serial-issues-modal').modal('hide'); + $('#edit-serial-issues').val('1'); + return $("form[name='f'").submit(); + }); + $(document).on('click', '#no-edit-serial-issues-modal-btn-submit', function (e) { + e.preventDefault(); + $('#edit-serial-issues-modal').modal('hide'); + return $("form[name='f'").submit(); + }); }); diff --git a/tools/batchMod.pl b/tools/batchMod.pl index e6dc6ded998..f8c51318cba 100755 --- a/tools/batchMod.pl +++ b/tools/batchMod.pl @@ -186,6 +186,18 @@ if ( $op eq "cud-action" ) { Koha::BackgroundJob::BatchUpdateItem->new->enqueue($params); $nextop = 'enqueued'; $template->param( job_id => $job_id, ); + + if ( $input->param('edit-serial-issues') ) { + my @linked_serial_ids = $input->multi_param('linked_serial_id'); + my $subscriptionid = Koha::Serials->find( $linked_serial_ids[0] )->subscriptionid; + my $redirect_url = "/cgi-bin/koha/serials/serials-edit.pl?"; + for my $serial_id (@linked_serial_ids) { + $redirect_url .= "serialid=$serial_id&"; + } + $redirect_url .= "subscriptionid=$subscriptionid"; + print $input->redirect($redirect_url); + exit; + } } catch { push @messages, @@ -269,6 +281,15 @@ if ($op eq "cud-show" || $op eq "show"){ $template->param(itemnumbers_array => \@itemnumbers); } + my @linked_serial_ids; + foreach my $itemnumber (@itemnumbers) { + my $item = Koha::Items->find($itemnumber); + my $serial_item = $item->serial_item; + push( @linked_serial_ids, $serial_item->serialid ) if $serial_item; + } + $template->param( linked_serial_ids => \@linked_serial_ids ); + $template->param( linked_serials => 1 ) if scalar(@linked_serial_ids) > 0; + # now, build the item form for entering a new item # Getting list of subfields to keep when restricted batchmod edit is enabled -- 2.39.3 (Apple Git-146)