From 28750ffc19b1f0e7fd697809f87ce5b835b4d721 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 13 Jun 2019 11:42:02 +0100 Subject: [PATCH] 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 Signed-off-by: Nadine Pierre Signed-off-by: Maryse Simard --- koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss | 8 +++- .../bootstrap/en/includes/account-table.inc | 50 +++++++++++++++++++++- opac/opac-account.pl | 20 +++++---- 3 files changed, 66 insertions(+), 12 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss index 29fc16c..b020e9f 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss +++ b/koha-tmpl/opac-tmpl/bootstrap/css/src/opac.scss @@ -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; } diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc index e2bb1a1..b7378ab 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/account-table.inc @@ -9,14 +9,14 @@ Date Type Description - Fine amount + Amount Amount outstanding [% FOREACH ACCOUNT_LINE IN ACCOUNT_LINES %] - + 0 || ACCOUNT_LINE.amountoutstanding < 0 %]class="outstanding"[% END%]> [% IF ENABLE_OPAC_PAYMENTS %] [% IF ACCOUNT_LINE.amountoutstanding > 0 %] @@ -75,6 +75,52 @@ Total due [% total | $Price %] + [% IF outstanding_credits.total_outstanding < 0 %] + [% FOREACH outstanding_credit IN outstanding_credits %] + + [% IF ENABLE_OPAC_PAYMENTS %][% END %] + [% outstanding_credit.date | $KohaDates %] + + [% 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 -%] + + + [%- 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 %] + + [% outstanding_credit.amount * -1 | $Price %] + [% outstanding_credit.amountoutstanding * -1 | $Price %] + + [% END %] + + Total due if credit(s) applied: + [% total + outstanding_credits.total_outstanding | $Price %] + + [% END %] diff --git a/opac/opac-account.pl b/opac/opac-account.pl index 9c47e35..d5677fc 100755 --- a/opac/opac-account.pl +++ b/opac/opac-account.pl @@ -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"); -- 2.7.4