From 1946043f6b9cf71fbedb7c49988eb7a35b5d0ab1 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 Signed-off-by: Nathalie --- .../en/includes/modals/edit_serial_issues.inc | 18 +++++++++++--- .../prog/en/modules/tools/batchMod-edit.tt | 11 ++++++++- .../intranet-tmpl/prog/js/pages/batchMod.js | 24 +++++++++++++++++++ tools/batchMod.pl | 21 ++++++++++++++++ 4 files changed, 70 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 11af56e5a94..e0e25460674 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 86e5a5c6585..1d5511c9a49 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 @@ -168,6 +168,9 @@ + [% FOREACH linked_serial_id IN linked_serial_ids %] + + [% END %] [% IF biblionumber %] [% END %] @@ -252,7 +255,12 @@
- + [% IF linked_serials %] + + + [% ELSE %] + + [% END %] Cancel
@@ -277,6 +285,7 @@ [% END %] + [% INCLUDE 'modals/edit_serial_issues.inc' batch=1 %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js index 63ecc4e7585..9cbcc48564a 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js +++ b/koha-tmpl/intranet-tmpl/prog/js/pages/batchMod.js @@ -169,6 +169,11 @@ function hideAllColumns() { }); } +function ShowSerialEditingConfirmation(form) { + $("#edit-serial-issues-modal").modal("show"); + return false; +} + $(document).ready(function () { var items_table = $("#itemst").kohaTable({ columnDefs: [ @@ -220,4 +225,23 @@ $(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 b03c3489596..e7e1a4c1fd4 100755 --- a/tools/batchMod.pl +++ b/tools/batchMod.pl @@ -174,6 +174,18 @@ if ( $op eq "cud-action" ) { my $job_id = 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, { @@ -270,6 +282,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.48.1