Bug 5529 Absence or Presence of lists not being reliably returned
[koha.git] / serials / serials-home.pl
index 2a3820e..8a82df7 100755 (executable)
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-# $Id$
 
 =head1 NAME
 
@@ -42,6 +41,7 @@ this script is the main page for serials/
 =cut
 
 use strict;
+use warnings;
 use CGI;
 use C4::Auth;
 use C4::Serials;
@@ -51,7 +51,7 @@ use C4::Context;
 my $query         = new CGI;
 my $title         = $query->param('title_filter');
 my $ISSN          = $query->param('ISSN_filter');
-my $routing       = $query->param('routing');
+my $routing       = $query->param('routing')||C4::Context->preference("RoutingSerials");
 my $searched      = $query->param('searched');
 my $biblionumber  = $query->param('biblionumber');
 
@@ -67,7 +67,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $query,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { serials => 1 },
+        flagsrequired   => { serials => '*' },
         debug           => 1,
     }
 );
@@ -80,14 +80,14 @@ if (@serialseqs){
       ### FIXME  This limitation that a serial must be given a title may not be very efficient for some library who do not update serials titles.
       push @information,
         { serialseq=>$seq,
-          publisheddate=>$publisheddates[$index],   
-          planneddate=>$planneddates[$index],   
-          notes=>$notes[$index],   
+          publisheddate=>$publisheddates[$index],
+          planneddate=>$planneddates[$index],
+          notes=>$notes[$index],
           status=>$status[$index]
-        }     
-    }   
-    $index++; 
-  } 
+        }
+    }
+    $index++;
+  }
   $template->param('information'=>\@information);
 }
 my @subscriptions;
@@ -97,10 +97,8 @@ if ($searched){
 
 # to toggle between create or edit routing list options
 if ($routing) {
-    for ( my $i = 0 ; $i < @subscriptions ; $i++ ) {
-        my $checkrouting =
-          check_routing( $subscriptions[$i]->{'subscriptionid'} );
-        $subscriptions[$i]->{'routingedit'} = $checkrouting;
+    for my $subscription ( @subscriptions) {
+        $subscription->{routingedit} = check_routing( $subscription->{subscriptionid} );
     }
 }