Merge remote branch 'kc/new/enh/bug_2965' into kcmaster
[wip/koha-chris_n.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
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 warnings;
45 use CGI;
46 use C4::Auth;
47 use C4::Serials;
48 use C4::Output;
49 use C4::Context;
50
51 my $query         = new CGI;
52 my $title         = $query->param('title_filter');
53 my $ISSN          = $query->param('ISSN_filter');
54 my $routing       = $query->param('routing')||C4::Context->preference("RoutingSerials");
55 my $searched      = $query->param('searched');
56 my $biblionumber  = $query->param('biblionumber');
57
58 my @serialseqs = $query->param('serialseq');
59 my @planneddates = $query->param('planneddate');
60 my @publisheddates = $query->param('publisheddate');
61 my @status = $query->param('status');
62 my @notes = $query->param('notes');
63
64 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
65     {
66         template_name   => "serials/serials-home.tmpl",
67         query           => $query,
68         type            => "intranet",
69         authnotrequired => 0,
70         flagsrequired   => { serials => '*' },
71         debug           => 1,
72     }
73 );
74
75 if (@serialseqs){
76   my @information;
77   my $index;
78   foreach my $seq (@serialseqs){
79     if ($seq){
80       ### 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.
81       push @information,
82         { serialseq=>$seq,
83           publisheddate=>$publisheddates[$index],
84           planneddate=>$planneddates[$index],
85           notes=>$notes[$index],
86           status=>$status[$index]
87         }
88     }
89     $index++;
90   }
91   $template->param('information'=>\@information);
92 }
93 my @subscriptions;
94 if ($searched){
95     @subscriptions = GetSubscriptions( $title, $ISSN, $biblionumber );
96 }
97
98 # to toggle between create or edit routing list options
99 if ($routing) {
100     for my $subscription ( @subscriptions) {
101         $subscription->{routingedit} = check_routing( $subscription->{subscriptionid} );
102     }
103 }
104
105 $template->param(
106     subscriptions => \@subscriptions,
107     title_filter  => $title,
108     ISSN_filter   => $ISSN,
109     done_searched => $searched,
110     routing       => $routing,
111 );
112 output_html_with_http_headers $query, $cookie, $template->output;