Bug 31873: Check ->find before calling ->safe_delete
When there is no item, you cannot safely delete it :) Resolve this warning: Can't call method "safe_delete" on an undefined value at /usr/share/koha/cataloguing/additem.pl line 379 (Line numbers may vary across versions.) Test plan: Open item editor. Add a new item. Add another tab with same form. Delete new item. Go back to former tab. Try to delete again. You should see an alert now on top of the form. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
ecb9932fd3
commit
7d8a35585b
|
|
@ -47,6 +47,7 @@ use Storable qw( freeze thaw );
|
|||
use URI::Escape qw( uri_escape_utf8 );
|
||||
use C4::Members;
|
||||
use Koha::UI::Form::Builder::Item;
|
||||
use Koha::Result::Boolean;
|
||||
|
||||
use MARC::File::XML;
|
||||
use URI::Escape qw( uri_escape_utf8 );
|
||||
|
|
@ -412,7 +413,12 @@ if ($op eq "additem") {
|
|||
#-------------------------------------------------------------------------------
|
||||
# check that there is no issue on this item before deletion.
|
||||
my $item = Koha::Items->find($itemnumber);
|
||||
my $deleted = $item->safe_delete;
|
||||
my $deleted;
|
||||
if( $item ) {
|
||||
$deleted = $item->safe_delete;
|
||||
} else {
|
||||
$deleted = Koha::Result::Boolean->new(0)->add_message({ message => 'item_not_found' });
|
||||
}
|
||||
if ( $deleted ) {
|
||||
print $input->redirect("additem.pl?biblionumber=$biblionumber&frameworkcode=$frameworkcode&searchid=$searchid");
|
||||
exit;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@
|
|||
[% IF ( not_same_branch ) %]<div class="dialog alert"><strong>Cannot delete</strong>: The items do not belong to your library.</div>[% END %]
|
||||
[% IF ( linked_analytics ) %]<div class="dialog alert"><strong>Cannot delete</strong>: item has linked <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.biblionumber | uri %]&analyze=1">analytics.</a>.</div>[% END %]
|
||||
[% IF last_item_for_hold %]<div class="dialog alert"><strong>Cannot delete</strong>: Last item for bibliographic record with biblio-level hold on it.</div>[% END %]
|
||||
[% IF item_not_found %]<div class="dialog alert"><strong>Cannot delete</strong>: Item not found.</div>[% END %]
|
||||
|
||||
<div id="cataloguing_additem_itemlist">
|
||||
[% IF items %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue