Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record
[srvgit] / basket / basket.pl
index 8d085a9..6f93e5a 100755 (executable)
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 
-use strict;
-use warnings;
+use Modern::Perl;
 use CGI qw ( -utf8 );
 use C4::Koha;
-use C4::Biblio;
-use C4::Items;
-use C4::Auth;
-use C4::Output;
-use C4::Csv;
+use C4::Biblio qw(
+    GetMarcSeries
+    GetMarcSubjects
+    GetMarcUrls
+);
+use C4::Items qw( GetItemsInfo );
+use C4::Auth qw( get_template_and_user );
+use C4::Output qw( output_html_with_http_headers );
+
+use Koha::AuthorisedValues;
+use Koha::Biblios;
+use Koha::CsvProfiles;
 
-my $query = new CGI;
+my $query = CGI->new;
 
 my ( $template, $borrowernumber, $cookie ) = get_template_and_user (
     {
         template_name   => "basket/basket.tt",
         query           => $query,
         type            => "intranet",
-        flagsrequired   => { borrow => 1 },
+        flagsrequired   => { catalogue => 1 },
     }
 );
 
 my $bib_list     = $query->param('bib_list');
-my $print_basket = $query->param('print');
 my $verbose      = $query->param('verbose');
 
 if ($verbose)      { $template->param( verbose      => 1 ); }
-if ($print_basket) { $template->param( print_basket => 1 ); }
 
 my @bibs = split( /\//, $bib_list );
 my @results;
@@ -60,11 +64,11 @@ if (C4::Context->preference('TagsEnabled')) {
 foreach my $biblionumber ( @bibs ) {
     $template->param( biblionumber => $biblionumber );
 
-    my $dat              = &GetBiblioData($biblionumber);
-    next unless $dat;
-    my $record           = &GetMarcBiblio($biblionumber);
-    my $marcnotesarray   = GetMarcNotes( $record, $marcflavour );
-    my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
+    my $biblio           = Koha::Biblios->find( $biblionumber ) or next;
+    my $dat              = $biblio->unblessed;
+    my $record           = $biblio->metadata->record;
+    my $marcnotesarray   = $biblio->get_marc_notes;
+    my $marcauthorsarray = $biblio->get_marc_authors;
     my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour );
     my $marcseriesarray  = GetMarcSeries  ($record,$marcflavour);
     my $marcurlsarray    = GetMarcUrls    ($record,$marcflavour);
@@ -75,8 +79,8 @@ foreach my $biblionumber ( @bibs ) {
       $hasauthors = 1;
     }
        
-    my $shelflocations =GetKohaAuthorisedValues('items.location',$dat->{'frameworkcode'});
-    my $collections =  GetKohaAuthorisedValues('items.ccode',$dat->{'frameworkcode'});
+    my $shelflocations =
+      { map { $_->{authorised_value} => $_->{lib} } Koha::AuthorisedValues->get_descriptions_by_koha_field( { frameworkcode => $dat->{frameworkcode}, kohafield => 'items.location' } ) };
 
        for my $itm (@items) {
            if ($itm->{'location'}){
@@ -84,7 +88,6 @@ foreach my $biblionumber ( @bibs ) {
                }
        }
        # COinS format FIXME: for books Only
-        my $coins_format;
         my $fmt = substr $record->leader(), 6,2;
         my $fmts;
         $fmts->{'am'} = 'book';
@@ -104,15 +107,6 @@ foreach my $biblionumber ( @bibs ) {
     $dat->{MARCURLS}    = $marcurlsarray;
     $dat->{HASAUTHORS}  = $hasauthors;
 
-    if ( C4::Context->preference("IntranetBiblioDefaultView") eq "normal" ) {
-        $dat->{dest} = "/cgi-bin/koha/catalogue/detail.pl";
-    }
-    elsif ( C4::Context->preference("IntranetBiblioDefaultView") eq "marc" ) {
-        $dat->{dest} = "/cgi-bin/koha/catalogue/MARCdetail.pl";
-    }
-    else {
-        $dat->{dest} = "/cgi-bin/koha/catalogue/ISBDdetail.pl";
-    }
     push( @results, $dat );
 }
 
@@ -122,7 +116,7 @@ my $resultsarray = \@results;
 
 $template->param(
     BIBLIO_RESULTS => $resultsarray,
-    csv_profiles => GetCsvProfilesLoop('marc'),
+    csv_profiles => Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }),
     bib_list => $bib_list,
 );