Bug 28213: Prevent crash if patron or club deleted after search to hold
Deleting a patron or patron club causes server error on searching. To recreate: - create a club template - create a club - enroll a patron in the club - from the clubs page, select Search To Hold for your club - do a search, see that it says "Hold for [club name]" in your search results page - go back to the clubs page and delete your club - try to perform a search => Without this patch you get "Can't call method "name" on an undefined value at /kohadevbox/koha/catalogue/search.pl line 207" Same when placing a hold for a patron (check the search result and the detail pages) Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> (cherry picked from commit0633590f55) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commitf307bc2786) Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
This commit is contained in:
parent
ea3428a5dc
commit
706badc289
|
|
@ -90,15 +90,17 @@ if ( not defined $record ) {
|
|||
eval { $biblio->metadata->record };
|
||||
$template->param( decoding_error => $@ );
|
||||
|
||||
if($query->cookie("holdfor")){
|
||||
if($query->cookie("holdfor")){
|
||||
my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
|
||||
$template->param(
|
||||
# FIXME Should pass the patron object
|
||||
holdfor => $query->cookie("holdfor"),
|
||||
holdfor_surname => $holdfor_patron->surname,
|
||||
holdfor_firstname => $holdfor_patron->firstname,
|
||||
holdfor_cardnumber => $holdfor_patron->cardnumber,
|
||||
);
|
||||
if ( $holdfor_patron ) {
|
||||
$template->param(
|
||||
# FIXME Should pass the patron object
|
||||
holdfor => $query->cookie("holdfor"),
|
||||
holdfor_surname => $holdfor_patron->surname,
|
||||
holdfor_firstname => $holdfor_patron->firstname,
|
||||
holdfor_cardnumber => $holdfor_patron->cardnumber,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if($query->cookie("searchToOrder")){
|
||||
|
|
|
|||
|
|
@ -194,20 +194,24 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) {
|
|||
|
||||
if($cgi->cookie("holdfor")){
|
||||
my $holdfor_patron = Koha::Patrons->find( $cgi->cookie("holdfor") );
|
||||
$template->param(
|
||||
holdfor => $cgi->cookie("holdfor"),
|
||||
holdfor_surname => $holdfor_patron->surname,
|
||||
holdfor_firstname => $holdfor_patron->firstname,
|
||||
holdfor_cardnumber => $holdfor_patron->cardnumber,
|
||||
);
|
||||
if ( $holdfor_patron ) { # may have been deleted in the meanwhile
|
||||
$template->param(
|
||||
holdfor => $cgi->cookie("holdfor"),
|
||||
holdfor_surname => $holdfor_patron->surname,
|
||||
holdfor_firstname => $holdfor_patron->firstname,
|
||||
holdfor_cardnumber => $holdfor_patron->cardnumber,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if($cgi->cookie("holdforclub")){
|
||||
my $holdfor_club = Koha::Clubs->find( $cgi->cookie("holdforclub") );
|
||||
$template->param(
|
||||
holdforclub => $cgi->cookie("holdforclub"),
|
||||
holdforclub_name => $holdfor_club->name,
|
||||
);
|
||||
if ( $holdfor_club ) { # May have been deleted in the meanwhile
|
||||
$template->param(
|
||||
holdforclub => $cgi->cookie("holdforclub"),
|
||||
holdforclub_name => $holdfor_club->name,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if($cgi->cookie("searchToOrder")){
|
||||
|
|
|
|||
Loading…
Reference in New Issue