ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / basket / basket.pl
index 8d085a9..4318a95 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 Koha::AuthorisedValues;
+use Koha::CsvProfiles;
 
 my $query = new CGI;
 
@@ -33,16 +34,14 @@ 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,9 +59,12 @@ if (C4::Context->preference('TagsEnabled')) {
 foreach my $biblionumber ( @bibs ) {
     $template->param( biblionumber => $biblionumber );
 
+    my $fw = GetFrameworkCode($biblionumber);
+
     my $dat              = &GetBiblioData($biblionumber);
     next unless $dat;
-    my $record           = &GetMarcBiblio($biblionumber);
+    my $record           = &GetMarcBiblio({ biblionumber => $biblionumber });
+    $dat->{subtitle}     = GetRecordValue('subtitle', $record, $fw);
     my $marcnotesarray   = GetMarcNotes( $record, $marcflavour );
     my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
     my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour );
@@ -75,8 +77,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 +86,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';
@@ -122,7 +123,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,
 );