From c4b519b1c6127957ead388c6256c2042fb125ab2 Mon Sep 17 00:00:00 2001 From: Thibaud Guillot Date: Thu, 2 Mar 2023 16:08:55 +0100 Subject: [PATCH] Bug 13870: Added a visual warning message on the item batch form I tried to add a visual warn on item linked to subscription or concern by an order. I don't think that pop-up could be the solution so I put a warn triangle aside the delete action to I don't think another pop-up is the ideal solution so I chose to integrate a yellow triangle right next to the action leading to the deletion of the 'item' with a hover message if a subscription or order is linked. I'm looking forward to your feedback :) Test plan : 1) Apply this patch 2) Be sure to have item with order or can concern by a subscription 3) Edit them to go on the batch form 4) See the yellow triangle next to the 'delete' action in 'actions' dropdown menu --- cataloguing/additem.pl | 15 +++++++++++++++ .../prog/en/modules/cataloguing/additem.tt | 12 ++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 586f89cd62..c6c49bb805 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -32,6 +32,7 @@ use C4::Context; use C4::Members; use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers ); use C4::Search qw( enabled_staff_search_views ); +use C4::Acquisition qw( GetOrderFromItemnumber ); use Koha::Biblios; use Koha::Item::Templates; use Koha::ItemTypes; @@ -42,6 +43,8 @@ use Koha::Patrons; use Koha::SearchEngine::Indexer; use Koha::UI::Form::Builder::Item; use Koha::Result::Boolean; +use Koha::Serial::Items; +use Koha::Subscriptions; use Encode qw( encode_utf8 ); use List::MoreUtils qw( any uniq ); @@ -633,8 +636,19 @@ if ($op) { # now, build existiing item list my @items; +my %warning_messages; for my $item ( $biblio->items->as_list, $biblio->host_items->as_list ) { my $i = $item->columns_to_str; + my $i_order = GetOrderFromItemnumber($i->{itemnumber}); + my $i_serialid = Koha::Serial::Items->search( {itemnumber => $i->{itemnumber}} )->get_column('serialid'); + + if ($i_order) { + $warning_messages{$i->{itemnumber}} = sprintf('There is an order (ordernumber %s) on this item', $i_order->{ordernumber} ); + } + if ($i_serialid) { + $warning_messages{$i->{itemnumber}} = 'A subscription is linked to this item'; + } + $i->{nomod} = 1 unless $patron->can_edit_item($item); push @items, $i; } @@ -754,6 +768,7 @@ $template->param( barcode => $current_item->{barcode}, op => $nextop, popup => scalar $input->param('popup') ? 1: 0, + warning_messages => \%warning_messages, C4::Search::enabled_staff_search_views, ); $template->{'VARS'}->{'searchid'} = $searchid; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt index 38fdd8995a..1cf324f8d4 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt @@ -89,7 +89,9 @@ [% FOREACH item IN items %] [% SET can_be_edited = ! ( Koha.Preference('IndependentBranches') && ! logged_in_user.is_superlibrarian && item.homebranch != Branches.GetLoggedInBranchname() ) %] - [% IF item.itemnumber == itemnumber%] + [% SET current_itemnumber = item.itemnumber %] + [% SET warn_message = warning_messages.$current_itemnumber %] + [% IF item.itemnumber == itemnumber %] [% UNLESS can_be_edited %] [% ELSE %] @@ -121,7 +123,13 @@
  • Duplicate
  • [% UNLESS item.nomod %] -
  • Delete
  • +
  • + Delete + [% IF warn_message %] + + [% END %] + +
  • [% END %] [% END %] [% IF ( OPACBaseURL ) %] -- 2.25.1