Merge remote-tracking branch 'origin/new/bug_7818'
[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
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 use C4::Branch;
51
52 my $query        = new CGI;
53 my $title        = $query->param('title_filter');
54 my $ISSN         = $query->param('ISSN_filter');
55 my $EAN          = $query->param('EAN_filter');
56 my $routing      = $query->param('routing') || C4::Context->preference("RoutingSerials");
57 my $searched     = $query->param('searched');
58 my $biblionumber = $query->param('biblionumber');
59
60 my @serialseqs = $query->param('serialseq');
61 my @planneddates = $query->param('planneddate');
62 my @publisheddates = $query->param('publisheddate');
63 my @status = $query->param('status');
64 my @notes = $query->param('notes');
65
66 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
67     {
68         template_name   => "serials/serials-home.tmpl",
69         query           => $query,
70         type            => "intranet",
71         authnotrequired => 0,
72         flagsrequired   => { serials => '*' },
73         debug           => 1,
74     }
75 );
76
77 if (@serialseqs){
78   my @information;
79   my $index;
80   foreach my $seq (@serialseqs){
81     if ($seq){
82       ### 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.
83       push @information,
84         { serialseq=>$seq,
85           publisheddate=>$publisheddates[$index],
86           planneddate=>$planneddates[$index],
87           notes=>$notes[$index],
88           status=>$status[$index]
89         }
90     }
91     $index++;
92   }
93   $template->param('information'=>\@information);
94 }
95 my @subscriptions;
96 if ($searched) {
97     @subscriptions = GetSubscriptions( $title, $ISSN, $EAN, $biblionumber );
98 }
99
100 # to toggle between create or edit routing list options
101 if ($routing) {
102     for my $subscription ( @subscriptions) {
103         $subscription->{routingedit} = check_routing( $subscription->{subscriptionid} );
104         $subscription->{branchname} = GetBranchName ( $subscription->{branchcode} );
105     }
106 }
107
108 $template->param(
109     subscriptions => \@subscriptions,
110     title_filter  => $title,
111     ISSN_filter   => $ISSN,
112     done_searched => $searched,
113     routing       => $routing,
114     (uc(C4::Context->preference("marcflavour"))) => 1
115 );
116
117 output_html_with_http_headers $query, $cookie, $template->output;