From 7d075653d6911e61e19afb92176cda9cda5a715d Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Fri, 31 Jan 2025 19:02:04 +0000 Subject: [PATCH] Bug 23010: Handle error in updateitem.pl and template --- catalogue/moredetail.pl | 3 ++- catalogue/updateitem.pl | 11 ++++++++--- .../prog/en/modules/catalogue/moredetail.tt | 11 ++++++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl index 10a1d4fe0f4..8b5ffbeedf9 100755 --- a/catalogue/moredetail.pl +++ b/catalogue/moredetail.pl @@ -86,7 +86,7 @@ $itemnumber = $query->param('itemnumber'); my $data = &GetBiblioData($biblionumber); my $dewey = $data->{'dewey'}; my $showallitems = $query->param('showallitems'); - +my $withdraw_error = $query->param('nowithdraw'); #coping with subscriptions my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); @@ -307,6 +307,7 @@ $template->param( ); $template->param( + withdraw_error => $withdraw_error, ITEM_DATA => \@item_data, moredetailview => 1, loggedinuser => $loggedinuser, diff --git a/catalogue/updateitem.pl b/catalogue/updateitem.pl index cb92efbb16d..2d3135cb0f9 100755 --- a/catalogue/updateitem.pl +++ b/catalogue/updateitem.pl @@ -86,9 +86,14 @@ elsif ( $op eq "cud-set_public_note" ) { # i.e., itemnotes parameter passed from print $cgi->redirect("moredetail.pl?biblionumber=$biblionumber&itemnumber=$itemnumber#item$itemnumber"); exit; } - -$item->store; - +eval { + $item->store; +}; +if ($@) { + my $error_message = $@->message; + print $cgi->redirect("moredetail.pl?biblionumber=$biblionumber&itemnumber=$itemnumber&nowithdraw=$error_message#item$itemnumber"); + exit; +} LostItem($itemnumber, 'moredetail') if $op eq "cud-set_lost"; print $cgi->redirect("moredetail.pl?" . $messages . "biblionumber=$biblionumber&itemnumber=$itemnumber#item$itemnumber"); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt index 9114ef0a741..3a1ed8e5974 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt @@ -35,7 +35,6 @@ [% END %] [% END #/ WRAPPER breadcrumbs %] [% END #/ WRAPPER sub-header.inc %] -
@@ -113,6 +112,16 @@ [% SET not_for_loan = 1 %] [% SET not_for_loan_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %] [% END %] + [% IF withdraw_error %] +
+ [% IF withdraw_error == 'intransit_cannot_withdraw' %] + Cannot withdraw item in transit. + [% END %] + [% IF withdraw_error == 'onloan_cannot_withdraw' %] + Cannot withdraw checked out item. + [% END %] +
+ [% END %]

Barcode [% ITEM_DAT.barcode | html %] [% IF not_for_loan %][% not_for_loan_description | html %] [% END %] -- 2.39.5