ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / catalogue / ISBDdetail.pl
index cb5081f..71ac886 100755 (executable)
@@ -43,10 +43,12 @@ use CGI qw ( -utf8 );
 use C4::Koha;
 use C4::Biblio;
 use C4::Items;
-use C4::Members; # to use GetMember
 use C4::Serials;    # CountSubscriptionFromBiblionumber
 use C4::Search;                # enabled_staff_search_views
 use C4::Acquisition qw(GetOrdersByBiblionumber);
+
+use Koha::Biblios;
+use Koha::Patrons;
 use Koha::RecordProcessor;
 
 
@@ -76,14 +78,9 @@ if ( not defined $biblionumber ) {
        exit;
 }
 
-my $record = GetMarcBiblio($biblionumber,1);
-my $record_processor = Koha::RecordProcessor->new({
-    filters => 'ViewPolicy',
-    options => {
-        interface => 'intranet',
-    },
-});
-$record_processor->process($record);
+my $record = GetMarcBiblio({
+    biblionumber => $biblionumber,
+    embed_items  => 1 });
 
 if ( not defined $record ) {
        # biblionumber invalid -> report and exit
@@ -94,7 +91,17 @@ if ( not defined $record ) {
        exit;
 }
 
+my $biblio = Koha::Biblios->find( $biblionumber );
 my $framework = GetFrameworkCode( $biblionumber );
+my $record_processor = Koha::RecordProcessor->new({
+    filters => 'ViewPolicy',
+    options => {
+        interface => 'intranet',
+        frameworkcode => 'ACQ'
+    },
+});
+$record_processor->process($record);
+
 my $res = GetISBDView({
     'record'    => $record,
     'template'  => 'intranet',
@@ -102,17 +109,17 @@ my $res = GetISBDView({
 });
 
 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,
     );
 }
 
 # count of item linked with biblio
-my $itemcount = GetItemsCount($biblionumber);
+my $itemcount = $biblio->items->count;
 $template->param( count => $itemcount);
 my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
  
@@ -163,9 +170,8 @@ $template->param (countorders => $count_orders_using_biblio);
 my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ;
 $template->param (countdeletedorders => $count_deletedorders_using_biblio);
 
-my $holds = C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 });
-my $holdcount = scalar( @$holds );
-$template->param( holdcount => scalar ( @$holds ) );
+my $holds = $biblio->holds;
+$template->param( holdcount => $holds->count );
 
 output_html_with_http_headers $query, $cookie, $template->output;