From 5f7738ba5b1db51cdb59aebca3be066597b199cb Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 21 Oct 2013 16:46:26 -0400 Subject: [PATCH] [PASSED QA] Bug 10493 [QA follow-up] Add renewal script Adds a new Template Toolkit filter EncodeUTF8 to encode strings to utf8 for correct display of diactritics. Adds the new JavaScript function removeFocus() to staff-global.js Use this function to remove the focus from any element for repeated scanning actions on errors so the librarian doesn't continue scanning and miss the error. Signed-off-by: Katrin Fischer This works as described - you have to actually look at the error and pick what you want to do or confirm it. I think maybe tying the action to a shortcut (c = confirm or similar) would be nice, so you can get away with only using the keyboard. --- Koha/Template/Plugin/EncodeUTF8.pm | 31 ++++++++++++++++++++++ circ/renew.pl | 9 ++++--- koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js | 7 +++++ .../intranet-tmpl/prog/en/modules/circ/renew.tt | 18 ++++++++++--- 4 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 Koha/Template/Plugin/EncodeUTF8.pm diff --git a/Koha/Template/Plugin/EncodeUTF8.pm b/Koha/Template/Plugin/EncodeUTF8.pm new file mode 100644 index 0000000..94fa81a --- /dev/null +++ b/Koha/Template/Plugin/EncodeUTF8.pm @@ -0,0 +1,31 @@ +package Koha::Template::Plugin::EncodeUTF8; + +# Copyright Bywater Solutions 2013 + +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use base qw{Template::Plugin::Filter}; + +use Encode qw{encode}; + +sub filter { + my ( $self, $value ) = @_; + return encode( 'UTF-8', $value ); +} + +1; diff --git a/circ/renew.pl b/circ/renew.pl index 6634c0c..df1dcaa 100755 --- a/circ/renew.pl +++ b/circ/renew.pl @@ -6,7 +6,7 @@ # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later +# Foundation; either version 3 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY @@ -45,7 +45,8 @@ my $barcode = $cgi->param('barcode'); my $override_limit = $cgi->param('override_limit'); my $override_holds = $cgi->param('override_holds'); -my ( $item, $issue, $borrower, $error ); +my ( $item, $issue, $borrower ); +my $error = q{}; if ($barcode) { $item = $schema->resultset("Item")->single( { barcode => $barcode } ); @@ -57,8 +58,8 @@ if ($barcode) { if ($issue) { $borrower = $issue->borrower(); - - if ( $borrower->debarred() lt dt_from_string()->ymd() ) { + + if ( ( $borrower->debarred() || q{} ) lt dt_from_string()->ymd() ) { my $can_renew; ( $can_renew, $error ) = CanBookBeRenewed( $borrower->borrowernumber(), diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js index 17fe162..3d605e8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js +++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js @@ -77,3 +77,10 @@ function openWindow(link,name,width,height) { height = (typeof height == "undefined")?'400':height; var newin=window.open(link,name,'width='+width+',height='+height+',resizable=yes,toolbar=false,scrollbars=yes,top'); } + +// Use this function to remove the focus from any element for +// repeated scanning actions on errors so the librarian doesn't +// continue scanning and miss the error. +function removeFocus() { + $(':focus').blur(); +} diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt index fe090b5..c7bb1af 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt @@ -1,6 +1,6 @@ [% USE Koha %] [% USE KohaDates %] -[% USE KohaBranchName %] +[% USE EncodeUTF8 %] [% INCLUDE 'doc-head-open.inc' %] @@ -8,6 +8,16 @@ [% INCLUDE 'doc-head-close.inc' %] +[% IF error %] + +[% END %] + @@ -30,11 +40,11 @@ [% ELSIF error == "no_checkout" %] -

[% item.biblio.title %] [% item.biblioitem.subtitle %] ( [% item.barcode %] ) is not checked out to a patron.

+

[% item.biblio.title | $EncodeUTF8 %] [% item.biblioitem.subtitle | $EncodeUTF8 %] ( [% item.barcode %] ) is not checked out to a patron.

[% ELSIF error == "too_many" %] -

[% item.biblio.title %] [% item.biblioitem.subtitle %] ( [% item.barcode %] ) has been renewed the maximum number of times by [% borrower.firstname %] [% borrower.surname %] ( [% borrower.cardnumber %] )

+

[% item.biblio.title | $EncodeUTF8 %] [% item.biblioitem.subtitle | $EncodeUTF8 %] ( [% item.barcode %] ) has been renewed the maximum number of times by [% borrower.firstname %] [% borrower.surname %] ( [% borrower.cardnumber %] )

[% IF Koha.Preference('AllowRenewalLimitOverride') %]
@@ -75,7 +85,7 @@