From bf69ff6713f884785981d98c28405a4906960af4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20V=C3=A9ron?= Date: Tue, 15 Dec 2015 00:11:01 +0100 Subject: [PATCH] Bug 15775 - User should know when they are blocked from checkouts on OPAC + Translatability fixes for OPAC Summary page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EDIT: Fixing merge conflicts EDIT: Fix from Comment 11 / Comment 12 When a user has been blocked from checkouts in the staff client for having too many fines, they will now see a message about this in the OPAC To test: - This patch will be easiest to test if you keep three tabs open - system preferences, a patron detail page, and OPAC summary page - Set some system preferences: - OPACFineNoRenewals = 2 - noissuescharge = 4 - OpacRenewalAllowed = Allow - Set up a patron with fines of $3 - Log in to the OPAC and verify the message from patch from Bug 15374, saying the user cannot renew books. Confirm link to accounts page works. - Set OpacRenewalAllowed = Don't allow - Refresh OPAC Summary and confirm the message disappears - Set OpacRenewalAllowed = Allow - Give the patron total fines of $5 (add $2) - Refresh OPAC Summary and verify message appears saying user is BLOCKED from checkouts. Confirm link to accounts page works - Set OpacRenewalAllowed = Don't allow - Refresh OPAC Summary and confirm message is still there Translability tests: - Log in to OPAC - with blocked /debarred user (with and without comment and date) - with user who has to much fines - with user who has his card marked as lost - with user with an account that is about to expire - with user with expired account - with user with uncertain address information - with user who has got a circulation message (from checkout page) - with user who has a OPAC note - Verify that information is correct and displays nicely and that links in messages work - Carefully examine code - Search for regressions Sponsored-by: Catalyst IT Followed test plan, works as expected. Signed-off-by: Marc VĂ©ron --- .../opac-tmpl/bootstrap/en/modules/opac-user.tt | 33 +++++++++++++------- opac/opac-user.pl | 18 ++++++++--- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt index d45222e..8141eb4 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt @@ -1,6 +1,7 @@ [% USE Koha %] [% USE KohaDates %] [% USE Branches %] +[% USE Price %] [% INCLUDE 'doc-head-open.inc' %] [% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Your library home @@ -33,7 +34,7 @@ [% FOREACH message IN patron_messages %]
  • [% message.message %]
    -    Written on [% message.message_date | $KohaDates %] by [% Branches.GetName(message.branchcode) %] + [% message.message_date | $KohaDates %] [% message.branchname %]
  • [% END %] @@ -90,16 +91,26 @@
      [% IF ( userdebarred ) %] -
    • Please note: Your account has been frozen[% IF ( BORROWER_INFO.userdebarreddate ) %] until [% BORROWER_INFO.userdebarreddate | $KohaDates %][% END %][% IF ( BORROWER_INFO.debarredcomment ) %] with the comment "[% BORROWER_INFO.debarredcomment %]"[% END %]. Usually the reason for freezing an account is old overdues or damage fees. If your account page shows your account to be clear, please contact the library.
    • +
    • Please note: Your account has been frozen. + [% IF ( BORROWER_INFO.debarredcomment ) %] Comment: "[% BORROWER_INFO.debarredcomment %]"[% END %] + [% IF ( BORROWER_INFO.userdebarreddate ) %] End date: [% BORROWER_INFO.userdebarreddate | $KohaDates %][% END %] + Usually the reason for freezing an account is old overdues or damage fees. If your account shows to be clear, please contact the library. Go to your account page
    • [% END %] [% IF ( BORROWER_INFO.gonenoaddress ) %] -
    • Please note: According to our records, we don't have up-to-date [% UNLESS OPACPatronDetails %]contact information[% ELSE %]contact information[% END %] on file. Please contact the library[% IF OPACPatronDetails %] or use the online update form to submit current information (Please note: there may be a delay in restoring your account if you submit online)[% END %].
    • +
    • Please note: According to our records, we don't have up-to-date contact information. Please contact the library. + [% IF ( Koha.Preference('OPACPatronDetails') ) %]Update your contact information[% ELSE %]Go to your contact information[% END %] + [% IF ( Koha.Preference('OPACPatronDetails') ) %](Please note: there may be a delay in restoring your account if you submit online.)[% END %] +
    • [% END %] [% IF ( BORROWER_INFO.lost ) %] -
    • Please note: Your library card has been marked as lost or stolen. If this is an error, please contact the library.
    • +
    • Please note: Your library card has been marked as lost or stolen. If this is an error, please contact the library.
    • [% END %] - [% IF ( renewal_blocked_fines ) && ( OpacRenewalAllowed ) %] -
    • Please note: Since you have [% IF renewal_blocked_fines != "0.00" %] more than [% renewal_blocked_fines %] in [% END %] fines, you cannot renew your books online. Please pay your fines if you wish to renew your books.
    • + [% IF ( checkouts_blocked_amount ) %] +
    • Please note: Your account has been BLOCKED from checkouts. Reason: [% IF ( checkouts_blocked_amount ) > 0 %]Your fines exceed [% checkouts_blocked_amount | $Price %].[% END %] + Please pay your fines if you wish to check out books. Go to your account page
    • + [% ELSIF ( renewal_blocked_fines.defined ) && ( OpacRenewalAllowed ) %] +
    • Please note: You cannot renew your books online. Reason: [% IF ( renewal_blocked_fines ) > 0 %]Your fines exceed [% renewal_blocked_fines | $Price %].[% ELSE %]You have fines.[% END %] + Please pay your fines if you wish to renew your books. Go to your account page
    • [% END %]
    @@ -114,9 +125,9 @@ [% IF relatives %]
  • Relatives' checkouts
  • [% END %] [% IF ( overdues_count ) %]
  • Overdue ([% overdues_count %])
  • [% END %] [% IF ( OPACFinesTab ) %] - [% IF ( BORROWER_INFO.amountoverfive ) %]
  • Fines ([% BORROWER_INFO.amountoutstanding %])
  • [% END %] - [% IF ( BORROWER_INFO.amountoverzero ) %]
  • Fines ([% BORROWER_INFO.amountoutstanding %])
  • [% END %] - [% IF ( BORROWER_INFO.amountlessthanzero ) %]
  • Credits ([% BORROWER_INFO.amountoutstanding %])
  • [% END %] + [% 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 %] [% END %] [% IF ( RESERVES.count ) %]
  • Holds ([% RESERVES.count %])
  • [% END %] @@ -299,7 +310,7 @@ You currently owe fines and charges amounting to: - [% BORROWER_INFO.amountoutstanding %] + [% BORROWER_INFO.amountoutstanding | $Price %] @@ -326,7 +337,7 @@ Amount - You have a credit of:[% BORROWER_INFO.amountoutstanding %] + You have a credit of:[% BORROWER_INFO.amountoutstanding | $Price %] diff --git a/opac/opac-user.pl b/opac/opac-user.pl index 0828739..c68f7fd 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -118,9 +118,18 @@ if ( C4::Context->preference('OpacRenewalAllowed') $borr->{'flagged'} = 1; $canrenew = 0; $template->param( - renewal_blocked_fines => sprintf( '%.02f', $no_renewal_amt ), - renewal_blocked_fines_amountoutstanding => - sprintf( '%.02f', $borr->{amountoutstanding} ), + renewal_blocked_fines => $no_renewal_amt, + renewal_blocked_fines_amountoutstanding => $borr->{amountoutstanding}, + ); +} + +my $checkoutsblockedamount = C4::Context->preference( 'noissuescharge' ); +$checkoutsblockedamount ||=0; +if ( C4::Context->preference( 'noissuescharge' ) && $borr->{amountoutstanding} > $checkoutsblockedamount ) { + $borr->{'flagged'} = 1; + $canrenew = 0; + $template->param( + checkouts_blocked_amount => sprintf ( '%.02f', $checkoutsblockedamount ), ); } @@ -129,7 +138,8 @@ if ( $borr->{'amountoutstanding'} < 0 ) { $borr->{'amountoutstanding'} = -1 * ( $borr->{'amountoutstanding'} ); } -$borr->{'amountoutstanding'} = sprintf "%.02f", $borr->{'amountoutstanding'}; +my @bordat; +$bordat[0] = $borr; # Warningdate is the date that the warning starts appearing if ( $borr->{'dateexpiry'} && C4::Context->preference('NotifyBorrowerDeparture') ) { -- 1.7.10.4