Bug 36786: (Bug 31791 follow-up) Koha explodes when trying to edit a biblio with invalid biblionumber

After changes made to addbiblio with the bug 31791, when trying to open the
editor with biblionumber=<invalid_number> (e.g. a deleted biblionumber)
Koha explodes with a message << Can't call method "can_be_edited" on
an undefined value at /kohadevbox/koha/cataloguing/addbiblio.pl line 555 >>

Test plan:
==========
1. Try to edit a biblio giving as a biblionumber (in URL) a non-existing
   biblionumber, e.g. in ktd, with standard ktd test data:
   http://your_ktd:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=1234567
   Koha should explode with the message:
   Can't call method "can_be_edited" on an undefined value at
   /kohadevbox/koha/cataloguing/addbiblio.pl line 555
2. Apply the patch; restart_all.
3. Repeat p.1.  You should get a page with the info: "The record you are trying
   to edit doesn't exist...".

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Janusz Kaczmarek 2024-05-06 09:08:50 +00:00 committed by Katrin Fischer
parent 18ac387e6a
commit f402b0eccd
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -547,15 +547,15 @@ if ($biblionumber) {
$biblio = Koha::Biblios->find($biblionumber);
unless ($biblio) {
if ($biblio) {
unless ( $biblio->can_be_edited($logged_in_patron) ) {
print $input->redirect("/cgi-bin/koha/errors/403.pl"); # escape early
exit;
}
} else {
$biblionumber = undef;
$template->param( bib_doesnt_exist => 1 );
}
unless ( $biblio->can_be_edited($logged_in_patron) ) {
print $input->redirect("/cgi-bin/koha/errors/403.pl"); # escape early
exit;
}
}
if ($frameworkcode eq 'FA'){