X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=catalogue%2Fmoredetail.pl;h=e8736ff398d1f4184176920c8eac86f557b03059;hb=refs%2Fheads%2Fkoha_ffzg;hp=04a0e9d43fde8b652590d0faafaf5f38202d1e4c;hpb=8d5b4306e07a594cd102fcce85f912ab3a5661e9;p=koha.git diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl index 04a0e9d43f..e8736ff398 100755 --- a/catalogue/moredetail.pl +++ b/catalogue/moredetail.pl @@ -19,8 +19,7 @@ # along with Koha; if not, see . -use strict; -#use warnings; FIXME - Bug 2505 +use Modern::Perl; use C4::Koha; use CGI qw ( -utf8 ); use HTML::Entities; @@ -30,7 +29,6 @@ use C4::Acquisition; use C4::Output; use C4::Auth; use C4::Serials; -use C4::Members; # to use GetMember use C4::Search; # enabled_staff_search_views use Koha::Acquisition::Booksellers; @@ -53,17 +51,15 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user( ); if($query->cookie("holdfor")){ - my $holdfor_patron = GetMember('borrowernumber' => $query->cookie("holdfor")); + my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") ); $template->param( holdfor => $query->cookie("holdfor"), - holdfor_surname => $holdfor_patron->{'surname'}, - holdfor_firstname => $holdfor_patron->{'firstname'}, - holdfor_cardnumber => $holdfor_patron->{'cardnumber'}, + holdfor_surname => $holdfor_patron->surname, + holdfor_firstname => $holdfor_patron->firstname, + holdfor_cardnumber => $holdfor_patron->cardnumber, ); } -my $hidepatronname = C4::Context->preference("HidePatronName"); - # get variables my $biblionumber=$query->param('biblionumber'); @@ -101,7 +97,10 @@ for my $itm (@all_items) { ($itemnumber != $itm->{itemnumber})); } -my $record=GetMarcBiblio($biblionumber); +my $record=GetMarcBiblio({ biblionumber => $biblionumber }); + +output_and_exit( $query, $cookie, $template, 'unknown_biblio') + unless $record; my $hostrecords; # adding items linked via host biblios @@ -127,8 +126,8 @@ my $copynumbers = my $itemtypes = { map { $_->{itemtype} => $_ } @{ Koha::ItemTypes->search_with_localization->unblessed } }; -$data->{'itemtypename'} = $itemtypes->{$data->{'itemtype'}}->{'translated_description'}; -$data->{'rentalcharge'} = sprintf( "%.2f", $data->{'rentalcharge'} ); +$data->{'itemtypename'} = $itemtypes->{ $data->{'itemtype'} }->{'translated_description'} + if $data->{itemtype} && exists $itemtypes->{ $data->{itemtype} }; foreach ( keys %{$data} ) { $template->param( "$_" => defined $data->{$_} ? $data->{$_} : '' ); } @@ -136,9 +135,9 @@ foreach ( keys %{$data} ) { ($itemnumber) and @items = (grep {$_->{'itemnumber'} == $itemnumber} @items); foreach my $item (@items){ $item->{object} = Koha::Items->find( $item->{itemnumber} ); - $item->{'collection'} = $ccodes->{ $item->{ccode} } if ($ccodes); - $item->{'itype'} = $itemtypes->{ $item->{'itype'} }->{'translated_description'}; - $item->{'replacementprice'} = sprintf( "%.2f", $item->{'replacementprice'} ); + $item->{'collection'} = $ccodes->{ $item->{ccode} } if $ccodes && $item->{ccode} && exists $ccodes->{ $item->{ccode} }; + $item->{'itype'} = $itemtypes->{ $item->{'itype'} }->{'translated_description'} if exists $itemtypes->{ $item->{'itype'} }; + $item->{'replacementprice'} = $item->{'replacementprice'}; if ( defined $item->{'copynumber'} ) { $item->{'displaycopy'} = 1; if ( defined $copynumbers->{ $item->{'copynumber'} } ) { @@ -188,25 +187,21 @@ foreach my $item (@items){ $item->{'issue'}= 0; } - unless ($hidepatronname) { - if ( $item->{'borrowernumber'} ) { - my $curr_borrower = GetMember('borrowernumber' => $item->{'borrowernumber'} ); - $item->{borrowerfirstname} = $curr_borrower->{'firstname'}; - $item->{borrowersurname} = $curr_borrower->{'surname'}; - } + if ( $item->{'borrowernumber'} ) { + my $curr_borrower = Koha::Patrons->find( $item->{borrowernumber} ); + $item->{patron} = $curr_borrower; } - } -my $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.itemlost', authorised_value => { not => undef } }); +my $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.itemlost', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); if ( $mss->count ) { $template->param( itemlostloop => GetAuthorisedValues( $mss->next->authorised_value ) ); } -$mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.damaged', authorised_value => { not => undef } }); +$mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.damaged', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); if ( $mss->count ) { $template->param( itemdamagedloop => GetAuthorisedValues( $mss->next->authorised_value ) ); } -$mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.withdrawn', authorised_value => { not => undef } }); +$mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fw, kohafield => 'items.withdrawn', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); if ( $mss->count ) { $template->param( itemwithdrawnloop => GetAuthorisedValues( $mss->next->authorised_value) ); } @@ -226,7 +221,6 @@ $template->param( itemnumber => $itemnumber, z3950_search_params => C4::Search::z3950_search_args(GetBiblioData($biblionumber)), subtitle => $subtitle, - hidepatronname => $hidepatronname, ); $template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items ); $template->{'VARS'}->{'searchid'} = $query->param('searchid');