From 6c946f87d01a3922fc0518b3bb14e28da5889dc6 Mon Sep 17 00:00:00 2001 From: Brendan Lawlor Date: Fri, 5 Sep 2025 13:11:35 +0000 Subject: [PATCH] Bug 27248: Add batch extend due dates to report batch ops This patch adds a new batch operation for reports that return item numbers To test: 1. Apply patches and restart_all 2. Have some checkouts 3. Create a report that returns itemnumbers example: select * from issues 4. Run the report 6. In the Batch operations drop down menu under Item records see a new link for Batch extend due dates 7. Click Batch extend due dates 8. Confirm the tool loads with the item barcodes filled in the form --- .../modules/reports/guided_reports_start.tt | 27 +++++++++++++++++++ .../modules/tools/batch_extend_due_dates.tt | 7 ++++- tools/batch_extend_due_dates.pl | 11 +++++++- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt index 57e7a1d74c..80f8a02962 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt @@ -1024,6 +1024,22 @@ [% END %] +
+ [% INCLUDE 'csrf-token.inc' %] + + [% FOREACH result IN results %] + [% FOREACH cells IN result.cells %] + [% place = loop.index %] + [% NEXT UNLESS cells.cell.match('^(\d+)$') %] + [% IF header_row.$place.cell == 'itemnumber' || header_types.item(header_row.$place.cell) == 'itemnumber' %] + [% SET batch_itemnumbers = 1 %] + [% SET header_row.$place.has_itemnumbers = 1 %] + + [% END %] + [% END %] + [% END %] +
+
[% FOREACH result IN results %] [% FOREACH cells IN result.cells %] @@ -1214,6 +1230,17 @@ >Batch item deletion +
  • + Batch extend due dates +
  • [% END %] [% IF header_ro.cell == 'reserve_id' || header_types.item( header_ro.cell ) == 'reserve_id' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_extend_due_dates.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_extend_due_dates.tt index 565aab6dec..09972c8d2b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_extend_due_dates.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/batch_extend_due_dates.tt @@ -126,7 +126,12 @@
    1. - +
    diff --git a/tools/batch_extend_due_dates.pl b/tools/batch_extend_due_dates.pl index 78a8034b44..44306748be 100755 --- a/tools/batch_extend_due_dates.pl +++ b/tools/batch_extend_due_dates.pl @@ -46,8 +46,17 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my @issue_ids; -if ( $op eq 'form' ) { +if ( $op eq 'form' || $op eq 'cud-form' ) { $template->param( view => 'form', ); + + my @list = $input->multi_param('itemnumber'); + if (@list) { + my $items_rs = Koha::Items->search( { itemnumber => { -in => \@list } } ); + + my @items = $items_rs->as_list; + $template->param( items => \@items, ); + } + } elsif ( $op eq 'cud-list' ) { my @categorycodes = $input->multi_param('categorycodes'); -- 2.39.5