Revert "Bug 6679 - [SIGNED-OFF] fix 2 perlcritic violations in C4/Installer/PerlModul...
[koha.git] / serials / serials-collection.pl
index 23e2abc..610de60 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 
 # Copyright 2000-2002 Katipo Communications
+# Parts Copyright 2010 Biblibre
 #
 # This file is part of Koha.
 #
@@ -28,6 +29,7 @@ use C4::Serials;
 use C4::Letters;
 use C4::Output;
 use C4::Context;
+use List::MoreUtils qw/uniq/;
 
 
 my $query = new CGI;
@@ -40,13 +42,15 @@ my ($template, $loggedinuser, $cookie);
                             query => $query,
                             type => "intranet",
                             authnotrequired => 0,
-                            flagsrequired => {serials => 'receive_serials'},
+                            flagsrequired => {serials => '*'},
                             debug => 1,
                             });
 my $biblionumber = $query->param('biblionumber');
 my @subscriptionid = $query->param('subscriptionid');
 
-my $subscriptiondescs ;
+@subscriptionid= uniq @subscriptionid;
+@subscriptionid= sort @subscriptionid;
+my $subscriptiondescs;
 my $subscriptions;
 
 if($op eq 'gennext' && @subscriptionid){
@@ -89,6 +93,8 @@ if($op eq 'gennext' && @subscriptionid){
     print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
 }
 
+my $subscriptioncount;
+my ($location, $callnumber);
 if (@subscriptionid){
    my @subscriptioninformation=();
    foreach my $subscriptionid (@subscriptionid){
@@ -111,11 +117,14 @@ if (@subscriptionid){
     $subs->{'abouttoexpire'}=abouttoexpire($subs->{'subscriptionid'});
     $subs->{'subscriptionexpired'}=HasSubscriptionExpired($subs->{'subscriptionid'});
     $subs->{'subscriptionid'} = $subscriptionid;  # FIXME - why was this lost ?
+       $location = GetAuthorisedValues('LOC', $subs->{'location'});
+       $callnumber = $subs->{callnumber};
     push @$subscriptiondescs,$subs;
     my $tmpsubscription= GetFullSubscription($subscriptionid);
     @subscriptioninformation=(@$tmpsubscription,@subscriptioninformation);
   }
   $subscriptions=PrepareSerialsData(\@subscriptioninformation);
+  $subscriptioncount = CountSubscriptionFromBiblionumber($subscriptiondescs->[0]{'biblionumber'});
 } else {
   $subscriptiondescs = GetSubscriptionsFromBiblionumber($biblionumber) ;
   my $subscriptioninformation = GetFullSubscriptionsFromBiblionumber($biblionumber);
@@ -133,9 +142,13 @@ foreach my $subscription (@$subscriptiondescs){
 
 # warn "title : $title yearmax : $yearmax nombre d'elements dans le tableau :".scalar(@$subscriptions);
 #  use Data::Dumper; warn Dumper($subscriptions);
+my $locationlib;
+foreach (@$location) {
+    $locationlib = $_->{'lib'} if $_->{'selected'};
+}
+
 chop $subscriptionidlist;
 $template->param(
-          onesubscription => (scalar(@$subscriptiondescs)==1),
           subscriptionidlist => $subscriptionidlist,
           biblionumber => $biblionumber,
           subscriptions => $subscriptiondescs,
@@ -145,7 +158,12 @@ $template->param(
           bibliotitle => $title,
           suggestion => C4::Context->preference("suggestion"),
           virtualshelves => C4::Context->preference("virtualshelves"),
+          routing => C4::Context->preference("RoutingSerials"),
           subscr=>$query->param('subscriptionid'),
+          subscriptioncount => $subscriptioncount,
+    location          => $locationlib,
+    callnumber        => $callnumber,
+    uc(C4::Context->preference("marcflavour")) => 1
           );
 
 output_html_with_http_headers $query, $cookie, $template->output;