From f9aa9bcffdcc1dc06da19ac764cb63a4fce86961 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20V=C3=A9ron?= <veron@veron.ch>
Date: Wed, 10 Aug 2016 11:42:28 +0200
Subject: [PATCH] [SIGNED-OFF] Bug 17100: [Alternative patch] Fix issues for on
 summary print
Content-Type: text/plain; charset="utf-8"

This alternative patch moves logic and formatting to the template file.

To test:
- Follow test plan in comment #2
- Additionally, verify that formatting follows syspref 'CurrencyFormat'
- Verify that amount column is right-aligned

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
---
 .../prog/en/modules/members/moremember-print.tt    | 29 +++++++++++-----------
 members/summary-print.pl                           |  9 +------
 2 files changed, 16 insertions(+), 22 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt
index f087760..93b59d4 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt
@@ -1,6 +1,7 @@
 [% USE Koha %]
 [% USE Branches %]
 [% USE KohaDates %]
+[% USE Price %]
 [% INCLUDE 'doc-head-open.inc' %]
     <title>Summary for [% firstname %] [% surname %] ([% cardnumber %])</title>
     [% INCLUDE 'doc-head-close.inc' %]
@@ -93,8 +94,7 @@
             [% END %]
         </table>
     [% END %]
-
-    [% IF ( accounts && ( totaldue != '0.00' ) ) %]
+    [% IF accounts && ( totaldue < 0 || totaldue > 0 ) %]
         <table>
             <caption>Account fines and payments</caption>
             <tr>
@@ -105,23 +105,24 @@
             </tr>
 
             [% FOREACH account IN accounts %]
-                [% NEXT IF account.amountoutstanding == '0.00' %]
-                <tr>
-                    <td>
-                        [% IF ( account.itemnumber ) %]<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% account.biblionumber %]&amp;itemnumber=[% account.itemnumber %]">[% END %]
-                        [% account.description %]&nbsp;[% IF ( account.printtitle ) %] [% account.title |html %][% END %]
-                        [% IF ( account.itemnumber ) %]</a>[% END %]
-                    </td>
-                    <td>[% account.date | $KohaDates %]</td>
-                    <td>[% account.amount %]</td>
-                    <td>[% account.amountoutstanding %]</td>
-                </tr>
+                [% IF ( account.amountoutstanding < 0 ) || ( account.amountoutstanding > 0 ) %]
+                    <tr>
+                        <td>
+                            [% IF ( account.itemnumber ) %]<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% account.biblionumber %]&amp;itemnumber=[% account.itemnumber %]">[% END %]
+                            [% account.description %]&nbsp;[% IF ( account.printtitle ) %] [% account.title |html %][% END %]
+                            [% IF ( account.itemnumber ) %]</a>[% END %]
+                        </td>
+                        <td>[% account.date | $KohaDates %]</td>
+                        <td style="text-align:right;">[% account.amount | $Price %]</td>
+                        <td style="text-align:right;">[% account.amountoutstanding | $Price %]</td>
+                    </tr>
+                [% END %]
             [% END %]
 
             <tfoot>
                 <tr>
                     <td colspan="3">Total due</td>
-                    <td colspan="2">[% totaldue %]</td>
+                    <td colspan="2" style="text-align:right;">[% totaldue | $Price %]</td>
                 </tr>
             </tfoot>
         </table>
diff --git a/members/summary-print.pl b/members/summary-print.pl
index f1933f5..82b1ca2 100755
--- a/members/summary-print.pl
+++ b/members/summary-print.pl
@@ -46,11 +46,6 @@ my $data = GetMember( 'borrowernumber' => $borrowernumber );
 
 my ( $total, $accts, $numaccts ) = GetMemberAccountRecords($borrowernumber);
 foreach my $accountline (@$accts) {
-    $accountline->{amount} = sprintf( '%.2f', $accountline->{amount} )
-        if ( $accountline->{amount} ) ;
-    $accountline->{amountoutstanding} = sprintf( '%.2f', $accountline->{amountoutstanding} )
-        if ( $accountline->{amountoutstanding} );
-
     if (   $accountline->{accounttype} ne 'F'
         && $accountline->{accounttype} ne 'FU' )
     {
@@ -59,8 +54,6 @@ foreach my $accountline (@$accts) {
 }
 
 our $totalprice = 0;
-my $total_format = '';
-$total_format = sprintf( "%.2f", $total ) if ($total);
 
 my $holds_rs = Koha::Holds->search(
     { borrowernumber => $borrowernumber },
@@ -72,7 +65,7 @@ $template->param(
     borrowernumber => $borrowernumber,
 
     accounts => $accts,
-    totaldue => $total_format,
+    totaldue => $total,
 
     issues     => build_issue_data( GetPendingIssues($borrowernumber) ),
     totalprice => $totalprice,
-- 
2.1.4