Bug 36791: Koha explodes when trying to edit an authority rec. with an invalid authid
When trying to open the authority editor with authid=<invalid_authid> (e.g. a deleted authid) Koha explodes with a message: Can't call method "authtypecode" on an undefined value at /kohadevbox/koha/authorities/authorities.pl line 556 This this because authtypecode method is called on the result of ->find without verifying that it was succesful. Test plan: ========== 1. Try to edit an auth rec. giving as a authid (in URL) a non-existing authid, e.g. in ktd, with standard ktd test data: http://your_ktd:8081/cgi-bin/koha/authorities/authorities.pl?authid=100000 Koha should explode with the message: Can't call method "authtypecode" on an undefined value at /kohadevbox/koha/authorities/authorities.pl line 556 2. Apply the patch; restart_all. 3. Repeat p. 1. You should get the 404 error page. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> (cherry picked from commit18843cabdb
) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commitb9ba92c153
) Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
04126b54eb
commit
823360f3b0
1 changed files with 6 additions and 2 deletions
|
@ -547,11 +547,15 @@ my $changed_authtype = $input->param('changed_authtype') // q{};
|
|||
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $authobj = Koha::Authorities->find($authid);
|
||||
if ( defined $authid && !$authid || $authid && !$authobj ) {
|
||||
print $input->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
|
||||
exit;
|
||||
}
|
||||
if(!$authtypecode) {
|
||||
$authtypecode = $authid ? Koha::Authorities->find($authid)->authtypecode : '';
|
||||
$authtypecode = $authid ? $authobj->authtypecode : '';
|
||||
}
|
||||
|
||||
my $authobj = Koha::Authorities->find($authid);
|
||||
my $count = $authobj ? $authobj->get_usage_count : 0;
|
||||
|
||||
my ($template, $loggedinuser, $cookie)
|
||||
|
|
Loading…
Reference in a new issue