@@ -, +, @@
amountoutstanding
---
C4/Members.pm | 4 +---
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt | 12 ++++++------
opac/opac-reserve.pl | 5 +++--
opac/opac-user.pl | 14 ++++++++------
t/db_dependent/Members.t | 15 +--------------
5 files changed, 19 insertions(+), 31 deletions(-)
--- a/C4/Members.pm
+++ a/C4/Members.pm
@@ -188,9 +188,7 @@ sub GetMemberDetails {
}
my $borrower = $sth->fetchrow_hashref;
return unless $borrower;
- my ($amount) = GetMemberAccountRecords($borrower->{borrowernumber});
- $borrower->{'amountoutstanding'} = $amount;
- # FIXME - patronflags calls GetMemberAccountRecords... just have patronflags return $amount
+
my $flags = patronflags( $borrower);
$borrower->{'flags'} = $flags;
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
@@ -129,9 +129,9 @@ Using this account is not recommended because some parts of Koha will not functi
[% IF relatives %]
Relatives' checkouts[% END %]
[% IF ( overdues_count ) %]Overdue ([% overdues_count %])[% END %]
[% IF ( OPACFinesTab ) %]
- [% IF ( BORROWER_INFO.amountoverfive ) %]Fines ([% BORROWER_INFO.amountoutstanding | $Price %])[% END %]
- [% IF ( BORROWER_INFO.amountoverzero ) %]Fines ([% BORROWER_INFO.amountoutstanding | $Price %])[% END %]
- [% IF ( BORROWER_INFO.amountlessthanzero ) %]Credits ([% BORROWER_INFO.amountoutstanding | $Price %])[% END %]
+ [% IF ( BORROWER_INFO.amountoverfive ) %]Fines ([% amountoutstanding | $Price %])[% END %]
+ [% IF ( BORROWER_INFO.amountoverzero ) %]Fines ([% amountoutstanding | $Price %])[% END %]
+ [% IF ( BORROWER_INFO.amountlessthanzero ) %]Credits ([% amountoutstanding | $Price %])[% END %]
[% END %]
[% IF ( RESERVES.count ) %]Holds ([% RESERVES.count %])[% END %]
[% IF Koha.Preference('ArticleRequests') && borrower.article_requests_current %]Article requests ([% borrower.article_requests_current.count %])[% END %]
@@ -319,7 +319,7 @@ Using this account is not recommended because some parts of Koha will not functi
You currently owe fines and charges amounting to: |
- [% BORROWER_INFO.amountoutstanding | $Price %] |
+ [% amountoutstanding | $Price %] |
@@ -333,7 +333,7 @@ Using this account is not recommended because some parts of Koha will not functi
You currently owe fines and charges amounting to: |
- [% BORROWER_INFO.amountoutstanding %] |
+ [% amountoutstanding %] |
@@ -346,7 +346,7 @@ Using this account is not recommended because some parts of Koha will not functi
Amount |
- You have a credit of: | [% BORROWER_INFO.amountoutstanding %] |
+ You have a credit of: | [% amountoutstanding %] |
--- a/opac/opac-reserve.pl
+++ a/opac/opac-reserve.pl
@@ -305,8 +305,9 @@ if ( $query->param('place_reserve') ) {
my $noreserves = 0;
my $maxoutstanding = C4::Context->preference("maxoutstanding");
$template->param( noreserve => 1 ) unless $maxoutstanding;
-if ( $borr->{'amountoutstanding'} && ($borr->{'amountoutstanding'} > $maxoutstanding) ) {
- my $amount = sprintf "%.02f", $borr->{'amountoutstanding'};
+my $amountoutstanding = GetMemberAccountRecords($borrowernumber);
+if ( $amountoutstanding && ($amountoutstanding > $maxoutstanding) ) {
+ my $amount = sprintf "%.02f", $amountoutstanding;
$template->param( message => 1 );
$noreserves = 1;
$template->param( too_much_oweing => $amount );
--- a/opac/opac-user.pl
+++ a/opac/opac-user.pl
@@ -113,10 +113,11 @@ if ( $userdebarred || $borr->{'gonenoaddress'} || $borr->{'lost'} ) {
$canrenew = 0;
}
-if ( $borr->{'amountoutstanding'} > 5 ) {
+my ( $amountoutstanding ) = GetMemberAccountRecords($borrowernumber);
+if ( $amountoutstanding > 5 ) {
$borr->{'amountoverfive'} = 1;
}
-if ( 5 >= $borr->{'amountoutstanding'} && $borr->{'amountoutstanding'} > 0 ) {
+if ( 5 >= $amountoutstanding && $amountoutstanding > 0 ) {
$borr->{'amountoverzero'} = 1;
}
my $no_renewal_amt = C4::Context->preference( 'OPACFineNoRenewals' );
@@ -124,19 +125,19 @@ $no_renewal_amt = undef unless looks_like_number( $no_renewal_amt );
if ( C4::Context->preference('OpacRenewalAllowed')
&& defined($no_renewal_amt)
- && $borr->{amountoutstanding} > $no_renewal_amt )
+ && $amountoutstanding > $no_renewal_amt )
{
$borr->{'flagged'} = 1;
$canrenew = 0;
$template->param(
renewal_blocked_fines => $no_renewal_amt,
- renewal_blocked_fines_amountoutstanding => $borr->{amountoutstanding},
+ renewal_blocked_fines_amountoutstanding => $amountoutstanding,
);
}
-if ( $borr->{'amountoutstanding'} < 0 ) {
+if ( $amountoutstanding < 0 ) {
$borr->{'amountlessthanzero'} = 1;
- $borr->{'amountoutstanding'} = -1 * ( $borr->{'amountoutstanding'} );
+ $amountoutstanding = -1 * ( $amountoutstanding );
}
# Warningdate is the date that the warning starts appearing
@@ -158,6 +159,7 @@ if ( $borr->{'dateexpiry'} && C4::Context->preference('NotifyBorrowerDeparture')
my $renew_error = $query->param('renew_error');
$template->param( BORROWER_INFO => $borr,
+ amountoutstanding => $amountoutstanding,
borrowernumber => $borrowernumber,
patron_flagged => $borr->{flagged},
OPACMySummaryHTML => (C4::Context->preference("OPACMySummaryHTML")) ? 1 : 0,
--- a/t/db_dependent/Members.t
+++ a/t/db_dependent/Members.t
@@ -412,7 +412,7 @@ subtest 'GetMemberAccountRecords' => sub {
subtest 'GetMemberAccountBalance' => sub {
- plan tests => 10;
+ plan tests => 6;
my $members_mock = new Test::MockModule('C4::Members');
$members_mock->mock( 'GetMemberAccountRecords', sub {
@@ -430,19 +430,6 @@ subtest 'GetMemberAccountBalance' => sub {
}
});
- my $person = GetMemberDetails(undef,undef);
- ok( !$person , 'Expected no member details from undef,undef' );
- $person = GetMemberDetails(undef,'987654321');
- is( $person->{amountoutstanding}, 15,
- 'Expected 15 outstanding for cardnumber.');
- $borrowernumber = $person->{borrowernumber};
- $person = GetMemberDetails($borrowernumber,undef);
- is( $person->{amountoutstanding}, 15,
- 'Expected 15 outstanding for borrowernumber.');
- $person = GetMemberDetails($borrowernumber,'987654321');
- is( $person->{amountoutstanding}, 15,
- 'Expected 15 outstanding for both borrowernumber and cardnumber.');
-
# do not count holds charges
t::lib::Mocks::mock_preference( 'HoldsInNoissuesCharge', '1' );
t::lib::Mocks::mock_preference( 'ManInvInNoissuesCharge', '0' );
--