Merge branch 'bug_2832' into 3.12-master
[koha.git] / members / routing-lists.pl
1 #!/usr/bin/perl
2
3 # Copyright 2012 Prosentient Systems
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 use strict;
21 #use warnings; FIXME - Bug 2505
22 use CGI;
23 use C4::Output;
24 use C4::Auth qw/:DEFAULT get_session/;
25 use C4::Branch; # GetBranches
26 use C4::Members;
27 use C4::Context;
28 use C4::Serials;
29 use CGI::Session;
30
31 my $query = new CGI;
32
33 my $sessionID = $query->cookie("CGISESSID") ;
34 my $session = get_session($sessionID);
35
36 # branch are now defined by the userenv
37 # but first we have to check if someone has tried to change them
38
39 my $branch = $query->param('branch');
40 if ($branch){
41     # update our session so the userenv is updated
42     $session->param('branch', $branch);
43     $session->param('branchname', GetBranchName($branch));
44 }
45
46 my ( $template, $loggedinuser, $cookie ) = get_template_and_user (
47     {
48         template_name   => 'members/routing-lists.tt',
49         query           => $query,
50         type            => "intranet",
51         authnotrequired => 0,
52         flagsrequired   => { circulate => 'circulate_remaining_permissions' },
53     }
54 );
55
56 my $branches = GetBranches();
57
58 my $findborrower = $query->param('findborrower');
59 $findborrower =~ s|,| |g;
60
61 my $borrowernumber = $query->param('borrowernumber');
62
63 $branch  = C4::Context->userenv->{'branch'};
64
65 # get the borrower information.....
66 my $borrower;
67 if ($borrowernumber) {
68     $borrower = GetMemberDetails( $borrowernumber, 0 );
69 }
70
71
72 ##################################################################################
73 # BUILD HTML
74 # I'm trying to show the title of subscriptions where the borrowernumber is attached via a routing list
75
76 if ($borrowernumber) {
77 # new op dev
78   my $count;
79   my @borrowerSubscriptions;
80   ($count, @borrowerSubscriptions) = GetSubscriptionsFromBorrower($borrowernumber );
81   my @subscripLoop;
82
83     foreach my $num_res (@borrowerSubscriptions) {
84         my %getSubscrip;
85         $getSubscrip{subscriptionid}    = $num_res->{'subscriptionid'};
86         $getSubscrip{title}                     = $num_res->{'title'};
87         $getSubscrip{borrowernumber}            = $num_res->{'borrowernumber'};
88         push( @subscripLoop, \%getSubscrip );
89     }
90
91     $template->param(
92         countSubscrip => scalar @subscripLoop,
93         subscripLoop  => \@subscripLoop,
94         routinglistview => 1
95     );
96
97     $template->param( adultborrower => 1 ) if ( $borrower->{'category_type'} eq 'A' );
98 }
99
100 ##################################################################################
101
102
103 # Computes full borrower address
104 my (undef, $roadttype_hashref) = &GetRoadTypes();
105 my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'};
106
107 $template->param(
108
109     findborrower      => $findborrower,
110     borrower          => $borrower,
111     borrowernumber    => $borrowernumber,
112     branch            => $branch,
113     branchname        => GetBranchName($borrower->{'branchcode'}),
114     firstname         => $borrower->{'firstname'},
115     surname           => $borrower->{'surname'},
116     categorycode      => $borrower->{'categorycode'},
117     categoryname      => $borrower->{description},
118     address           => $address,
119     address2          => $borrower->{'address2'},
120     email             => $borrower->{'email'},
121     emailpro          => $borrower->{'emailpro'},
122     borrowernotes     => $borrower->{'borrowernotes'},
123     city              => $borrower->{'city'},
124     zipcode           => $borrower->{'zipcode'},
125     country           => $borrower->{'country'},
126     phone             => $borrower->{'phone'} || $borrower->{'mobile'},
127     cardnumber        => $borrower->{'cardnumber'},
128 );
129
130 my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'});
131 $template->param( picture => 1 ) if $picture;
132
133 output_html_with_http_headers $query, $cookie, $template->output;