Bug 11529: Add templates for biblio title display. Unify display.
[srvgit] / catalogue / MARCdetail.pl
index 2152ffd..ab44ef7 100755 (executable)
@@ -43,8 +43,7 @@ the items attached to the biblio
 
 =cut
 
-use strict;
-#use warnings; FIXME - Bug 2505
+use Modern::Perl;
 use CGI qw ( -utf8 );
 use HTML::Entities;
 
@@ -69,8 +68,7 @@ my $query        = new CGI;
 my $dbh          = C4::Context->dbh;
 my $biblionumber = $query->param('biblionumber');
 $biblionumber = HTML::Entities::encode($biblionumber);
-my $frameworkcode = $query->param('frameworkcode');
-$frameworkcode = GetFrameworkCode( $biblionumber ) unless ($frameworkcode);
+my $frameworkcode = $query->param('frameworkcode') // GetFrameworkCode( $biblionumber );
 my $popup        =
   $query->param('popup')
   ;    # if set to 1, then don't insert links, it's just to show the biblio
@@ -88,8 +86,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $record = GetMarcBiblio($biblionumber, 1);
-$template->param( ocoins => GetCOinSBiblio($record) );
+my $record = GetMarcBiblio({
+    biblionumber => $biblionumber,
+    embed_items  => 1 });
 
 if ( not defined $record ) {
     # biblionumber invalid -> report and exit
@@ -114,6 +113,8 @@ if($query->cookie("holdfor")){
     );
 }
 
+$template->param( ocoins => $biblio_object->get_coins );
+
 #count of item linked
 my $itemcount = $biblio_object->items->count;
 $template->param( count => $itemcount,
@@ -272,12 +273,14 @@ foreach my $field (@fields) {
         $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{lib};
         $item->{ $subf[$i][0] } = GetAuthorisedValueDesc( $field->tag(),
                         $subf[$i][0], $subf[$i][1], '', $tagslib) || $subf[$i][1];
-        $norequests = 0 if $subf[$i][1] ==0 and $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan';
+        $norequests = 0
+          if  $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{kohafield} eq 'items.notforloan'
+          and $subf[$i][1] == 0;
     }
     push @item_loop, $item if $item;
 }
 
-my ($holdingbrtagf,$holdingbrtagsubf) = &GetMarcFromKohaField("items.holdingbranch",$frameworkcode);
+my ($holdingbrtagf,$holdingbrtagsubf) = &GetMarcFromKohaField( "items.holdingbranch" );
 @item_loop = sort {$a->{$holdingbrtagsubf} cmp $b->{$holdingbrtagsubf}} @item_loop;
 
 @item_subfield_codes = uniq @item_subfield_codes;
@@ -312,7 +315,8 @@ $template->param (
        marcview => 1,
        z3950_search_params             => C4::Search::z3950_search_args($biblio),
        C4::Search::enabled_staff_search_views,
-    searchid            => scalar $query->param('searchid'),
+    searchid                => scalar $query->param('searchid'),
+    biblio                  => $biblio_object->unblessed,
 );
 
 my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber);