Bug 32050: Add 'page-section' to calendar page
[koha-ffzg.git] / serials / subscription-bib-search.pl
index 35159e6..2853404 100755 (executable)
@@ -46,23 +46,21 @@ to multipage gestion.
 
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
-use C4::Koha;
-use C4::Auth;
+use C4::Koha qw( GetAuthorisedValues );
+use C4::Auth qw( get_template_and_user );
 use C4::Context;
-use C4::Output;
-use C4::Search;
-use C4::Biblio;
-use C4::Debug;
+use C4::Output qw( output_html_with_http_headers );
+use C4::Search qw( new_record_from_zebra );
+use C4::Biblio qw( TransformMarcToKoha );
 
 use Koha::ItemTypes;
 use Koha::SearchEngine;
 use Koha::SearchEngine::Search;
 
-my $input = new CGI;
+my $input = CGI->new;
 my $op = $input->param('op') || q{};
 my $dbh = C4::Context->dbh;
 
@@ -84,19 +82,16 @@ if ( $op eq "do_search" && $query ) {
             template_name   => "serials/result.tt",
             query           => $input,
             type            => "intranet",
-            authnotrequired => 0,
             flagsrequired   => { catalogue => 1, serials => '*' },
-            debug           => 1,
         }
     );
 
     # add the limits if applicable
     my $itemtypelimit = $input->param('itemtypelimit');
     my $ccodelimit    = $input->param('ccodelimit');
-    my $op = C4::Context->preference('UseQueryParser') ? '&&' : 'and';
+    my $op = 'AND';
     $query .= " $op $itype_or_itemtype:$itemtypelimit" if $itemtypelimit;
     $query .= " $op ccode:$ccodelimit" if $ccodelimit;
-    $debug && warn $query;
     $resultsperpage = $input->param('resultsperpage');
     $resultsperpage = 20 if ( !defined $resultsperpage );
 
@@ -119,16 +114,19 @@ if ( $op eq "do_search" && $query ) {
     for ( my $i = 0 ; $i < $total ; $i++ ) {
         my %resultsloop;
         my $marcrecord = C4::Search::new_record_from_zebra( 'biblioserver', $marcrecords->[$i] );
-        my $biblio = TransformMarcToKoha( $marcrecord, '' );
+        my $biblio = TransformMarcToKoha({ record => $marcrecord });
 
         #build the hash for the template.
         $resultsloop{highlight}       = ( $i % 2 ) ? (1) : (0);
         $resultsloop{title}           = $biblio->{'title'};
         $resultsloop{subtitle}        = $biblio->{'subtitle'};
+        $resultsloop{medium}          = $biblio->{'medium'};
+        $resultsloop{part_number}     = $biblio->{'part_number'};
+        $resultsloop{part_name}       = $biblio->{'part_name'};
         $resultsloop{biblionumber}    = $biblio->{'biblionumber'};
         $resultsloop{author}          = $biblio->{'author'};
         $resultsloop{publishercode}   = $biblio->{'publishercode'};
-        $resultsloop{publicationyear} = $biblio->{'publicationyear'};
+        $resultsloop{publicationyear} = $biblio->{'publicationyear'} ? $biblio->{'publicationyear'} : $biblio->{'copyrightdate'};
         $resultsloop{issn}            = $biblio->{'issn'};
 
         push @results, \%resultsloop;
@@ -190,9 +188,7 @@ else {
             template_name   => "serials/subscription-bib-search.tt",
             query           => $input,
             type            => "intranet",
-            authnotrequired => 0,
             flagsrequired   => { catalogue => 1, serials => '*' },
-            debug           => 1,
         }
     );