Final patch for serials planning bugs
[koha.git] / serials / serials-home.pl
1 #!/usr/bin/perl
2
3 # Copyright 2000-2002 Katipo Communications
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA  02111-1307 USA
19
20
21 =head1 NAME
22
23 serials-home.pl
24
25 =head1 DESCRIPTION
26
27 this script is the main page for serials/
28
29 =head1 PARAMETERS
30
31 =over 4
32
33 =item title
34
35 =item ISSN
36
37 =item biblionumber
38
39 =back
40
41 =cut
42
43 use strict;
44 use CGI;
45 use C4::Auth;
46 use C4::Serials;
47 use C4::Output;
48 use C4::Context;
49
50 my $query         = new CGI;
51 my $title         = $query->param('title_filter');
52 my $ISSN          = $query->param('ISSN_filter');
53 my $routing       = $query->param('routing');
54 my $searched      = $query->param('searched');
55 my $biblionumber  = $query->param('biblionumber');
56
57 my @serialseqs = $query->param('serialseq');
58 my @planneddates = $query->param('planneddate');
59 my @publisheddates = $query->param('publisheddate');
60 my @status = $query->param('status');
61 my @notes = $query->param('notes');
62
63 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
64     {
65         template_name   => "serials/serials-home.tmpl",
66         query           => $query,
67         type            => "intranet",
68         authnotrequired => 0,
69         flagsrequired   => { serials => 1 },
70         debug           => 1,
71     }
72 );
73
74 if (@serialseqs){
75   my @information;
76   my $index;
77   foreach my $seq (@serialseqs){
78     if ($seq){
79       ### 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.
80       push @information,
81         { serialseq=>$seq,
82           publisheddate=>$publisheddates[$index],   
83           planneddate=>$planneddates[$index],   
84           notes=>$notes[$index],   
85           status=>$status[$index]
86         }     
87     }   
88     $index++; 
89   } 
90   $template->param('information'=>\@information);
91 }
92 my @subscriptions;
93 if ($searched){
94     @subscriptions = GetSubscriptions( $title, $ISSN, $biblionumber );
95 }
96
97 # to toggle between create or edit routing list options
98 if ($routing) {
99     for ( my $i = 0 ; $i < @subscriptions ; $i++ ) {
100         my $checkrouting =
101           check_routing( $subscriptions[$i]->{'subscriptionid'} );
102         $subscriptions[$i]->{'routingedit'} = $checkrouting;
103     }
104 }
105
106 $template->param(
107     subscriptions => \@subscriptions,
108     title_filter  => $title,
109     ISSN_filter   => $ISSN,
110     done_searched => $searched,
111     routing       => $routing,
112 );
113 output_html_with_http_headers $query, $cookie, $template->output;