From 49275f27d43990746b4af5c6335d4fe7f38de7b4 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 Signed-off-by: Martin Renvoize --- .../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 29fc16c452..b020e9f952 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 e2bb1a1b36..b7378ab313 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 9c47e35755..d5677fc1b3 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.39.5