Bug 23115: Tweak display of totals on 'Fines and charges' page

This patch tweaks the display of totals on the OPAC 'Fines and charges'
page to clarify between the totals before and after applying credits.

Test Plan:
1) Add some debts and credits to a patrons account
2) Look at the 'Fines and charges' page before applying the patch
3) Look at the 'Fines and charges' page after applying the patch
4) Varify the new layout is an improvment or not

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nadine Pierre <nadine.pierre@inLibro.com>
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Martin Renvoize 2019-06-13 11:42:02 +01:00
parent 7c5e7ca9c4
commit 49275f27d4
No known key found for this signature in database
GPG Key ID: 422B469130441A0F
3 changed files with 66 additions and 12 deletions

View File

@ -333,6 +333,12 @@ td {
background-color: #FFF;
}
tr {
&.outstanding {
font-style: italic;
}
}
td {
img {
max-width: none;
@ -342,7 +348,7 @@ td {
color: #CC3333;
}
.sum {
&.sum {
background-color: #FFFFE5;
font-weight: bold;
}

View File

@ -9,14 +9,14 @@
<th class="title-string">Date</th>
<th>Type</th>
<th>Description</th>
<th>Fine amount</th>
<th>Amount</th>
<th>Amount outstanding</th>
</tr>
</thead>
<tbody>
[% FOREACH ACCOUNT_LINE IN ACCOUNT_LINES %]
<tr>
<tr [% IF ACCOUNT_LINE.amountoutstanding > 0 || ACCOUNT_LINE.amountoutstanding < 0 %]class="outstanding"[% END%]>
[% IF ENABLE_OPAC_PAYMENTS %]
<td>
[% IF ACCOUNT_LINE.amountoutstanding > 0 %]
@ -75,6 +75,52 @@
<th class="sum" colspan="[% COLSPAN | html %]">Total due</th>
<td class="sum">[% total | $Price %]</td>
</tr>
[% IF outstanding_credits.total_outstanding < 0 %]
[% FOREACH outstanding_credit IN outstanding_credits %]
<tr [% IF outstanding_credit.amountoutstanding < 0 %]class="outstanding"[% END%]>
[% IF ENABLE_OPAC_PAYMENTS %]<td></td>[% END %]
<td><span title="[% outstanding_credit.date | html %]">[% outstanding_credit.date | $KohaDates %]</span></td>
<td>
[% SWITCH outstanding_credit.accounttype %]
[% CASE 'Pay' %]Payment
[% CASE 'Pay00' %]Payment (cash via SIP2)
[% CASE 'Pay01' %]Payment (VISA via SIP2)
[% CASE 'Pay02' %]Payment (credit card via SIP2)
[% CASE 'VOID' %]Voided
[% CASE 'N' %]New card
[% CASE 'OVERDUE' %]Fine
[% CASE 'A' %]Account management fee
[% CASE 'M' %]Sundry
[% CASE 'L' %]Lost item
[% CASE 'W' %]Writeoff
[% CASE 'HE' %]Hold waiting too long
[% CASE 'Rent' %]Rental fee
[% CASE 'FOR' %]Forgiven
[% CASE 'LR' %]Lost item fee refund
[% CASE 'PF' %]Lost item processing fee
[% CASE 'PAY' %]Payment
[% CASE 'WO' %]Writeoff
[% CASE 'C' %]Credit
[% CASE 'CR' %]Credit
[%-CASE 'Res' %]Hold fee
[% CASE %][% outstanding_credit.accounttype | html %]
[%- END -%]
[%- PROCESS account_status_description account=outstanding_credit -%]
</td>
<td>
[%- IF outstanding_credit.payment_type %][% AuthorisedValues.GetByCode('PAYMENT_TYPE', outstanding_credit.payment_type, 1) | html %][% END %]
[%- IF outstanding_credit.description %][% outstanding_credit.description | html %][% END %]
[% IF outstanding_credit.itemnumber %]([% outstanding_credit.item.biblio.title | html %])[% END %]
</td>
<td class="credit">[% outstanding_credit.amount * -1 | $Price %]</td>
<td class="credit">[% outstanding_credit.amountoutstanding * -1 | $Price %]</td>
</tr>
[% END %]
<tr>
<th class="sum" colspan="[% COLSPAN | html %]">Total due if credit(s) applied:</th>
<td class="sum">[% total + outstanding_credits.total_outstanding | $Price %]</td>
</tr>
[% END %]
</tfoot>
</table>

View File

@ -41,17 +41,19 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
my $patron = Koha::Patrons->find( $borrowernumber );
my $account = $patron->account;
my $total = $account->balance;
my $accountlines = $account->lines;
my $accountlines = $account->lines->search({ amountoutstanding => { '>=' => 0 }});
my $total_outstanding = $accountlines->total_outstanding;
my $outstanding_credits = $account->outstanding_credits;
$template->param(
ACCOUNT_LINES => $accountlines,
total => $total,
accountview => 1,
message => scalar $query->param('message') || q{},
message_value => scalar $query->param('message_value') || q{},
payment => scalar $query->param('payment') || q{},
payment_error => scalar $query->param('payment-error') || q{},
ACCOUNT_LINES => $accountlines,
total => $total_outstanding,
outstanding_credits => $outstanding_credits,
accountview => 1,
message => scalar $query->param('message') || q{},
message_value => scalar $query->param('message_value') || q{},
payment => scalar $query->param('payment') || q{},
payment_error => scalar $query->param('payment-error') || q{},
);
my $plugins_enabled = C4::Context->preference('UseKohaPlugins') && C4::Context->config("enable_plugins");