View | Details | Raw Unified | Return to bug 14483
Collapse All | Expand All

(-)a/members/summary-print.pl (-1 / +106 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it under the
6
# terms of the GNU General Public License as published by the Free Software
7
# Foundation; either version 3 of the License, or (at your option) any later
8
# version.
9
#
10
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License along
15
# with Koha; if not, write to the Free Software Foundation, Inc.,
16
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
18
use Modern::Perl;
19
20
use CGI;
21
22
use C4::Auth;
23
use C4::Output;
24
use C4::Members;
25
use C4::Koha qw( getitemtypeinfo );
26
use C4::Circulation qw( GetIssuingCharges );
27
28
my $input          = CGI->new;
29
my $borrowernumber = $input->param('borrowernumber');
30
31
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
32
    {
33
        template_name   => "members/moremember-print.tt",
34
        query           => $input,
35
        type            => "intranet",
36
        authnotrequired => 0,
37
        flagsrequired   => { circulate => "circulate_remaining_permissions" },
38
        debug           => 1,
39
    }
40
);
41
42
my $data = GetMember( 'borrowernumber' => $borrowernumber );
43
44
my ( $total, $accts, $numaccts ) = GetMemberAccountRecords($borrowernumber);
45
foreach my $accountline (@$accts) {
46
    $accountline->{amount} = sprintf '%.2f', $accountline->{amount};
47
    $accountline->{amountoutstanding} = sprintf '%.2f',
48
      $accountline->{amountoutstanding};
49
50
    if (   $accountline->{accounttype} ne 'F'
51
        && $accountline->{accounttype} ne 'FU' )
52
    {
53
        $accountline->{printtitle} = 1;
54
    }
55
}
56
57
my $roadtype =
58
  C4::Koha::GetAuthorisedValueByCode( 'ROADTYPE', $data->{streettype} );
59
$roadtype //= '';
60
our $totalprice = 0;
61
$template->param(
62
    %$data,
63
64
    borrowernumber => $borrowernumber,
65
    address => $data->{'streetnumber'} . " $roadtype " . $data->{'address'},
66
67
    accounts => $accts,
68
    totaldue => sprintf( "%.2f", $total ),
69
70
    issues     => build_issue_data( GetPendingIssues($borrowernumber) ),
71
    totalprice => $totalprice,
72
);
73
74
output_html_with_http_headers $input, $cookie, $template->output;
75
76
sub build_issue_data {
77
    my $issues = shift;
78
79
    my $return = [];
80
81
    my $today = DateTime->now( time_zone => C4::Context->tz );
82
    $today->truncate( to => 'day' );
83
84
    foreach my $issue ( @{$issues} ) {
85
86
        my %row = %{$issue};
87
        $totalprice += $issue->{replacementprice};
88
89
        #find the charge for an item
90
        my ( $charge, $itemtype ) =
91
          GetIssuingCharges( $issue->{itemnumber}, $borrowernumber );
92
93
        my $itemtypeinfo = getitemtypeinfo($itemtype);
94
        $row{'itemtype_description'} = $itemtypeinfo->{description};
95
96
        $row{'charge'} = sprintf( "%.2f", $charge );
97
98
        $row{date_due} = $row{date_due_sql};
99
100
        push( @{$return}, \%row );
101
    }
102
103
    @{$return} = sort { $a->{date_due} <=> $b->{date_due} } @{$return};
104
105
    return $return;
106
}

Return to bug 14483