Bug 10493: (follow-up) fix various QA issues
authorKyle M Hall <kyle@bywatersolutions.com>
Mon, 21 Oct 2013 20:46:26 +0000 (16:46 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Tue, 22 Oct 2013 17:05:53 +0000 (17:05 +0000)
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 <katrin.fischer@bsz-bw.de>
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.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Koha/Template/Plugin/EncodeUTF8.pm [new file with mode: 0644]
circ/renew.pl
koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt

diff --git a/Koha/Template/Plugin/EncodeUTF8.pm b/Koha/Template/Plugin/EncodeUTF8.pm
new file mode 100644 (file)
index 0000000..94fa81a
--- /dev/null
@@ -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;
index 6634c0c..df1dcaa 100755 (executable)
@@ -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(),
index 17fe162..3d605e8 100644 (file)
@@ -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();
+}
index fe090b5..c7bb1af 100644 (file)
@@ -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 %]
+    <script type="text/javascript">
+    //<![CDATA[
+        $( document ).ready(function() {
+            removeFocus()
+        });
+    //]]>
+    </script>
+[% END %]
+
 </head>
 
 <body>
 
                             [% ELSIF error == "no_checkout" %]
 
-                                <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]">[% item.biblio.title %] [% item.biblioitem.subtitle %]</a> ( <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber %]&amp;biblionumber=[% item.biblionumber %]&amp;bi=[% item.biblioitemnumber %]#item[% item.itemnumber %]">[% item.barcode %]</a> ) is not checked out to a patron.</p>
+                                <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]">[% item.biblio.title | $EncodeUTF8 %] [% item.biblioitem.subtitle | $EncodeUTF8 %]</a> ( <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber %]&amp;biblionumber=[% item.biblionumber %]&amp;bi=[% item.biblioitemnumber %]#item[% item.itemnumber %]">[% item.barcode %]</a> ) is not checked out to a patron.</p>
 
                             [% ELSIF error == "too_many" %]
 
-                                <p>[% item.biblio.title %] [% item.biblioitem.subtitle %] ( [% item.barcode %] ) has been renewed the maximum number of times by [% borrower.firstname %] [% borrower.surname %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber %]"> [% borrower.cardnumber %] </a> )</p>
+                                <p>[% item.biblio.title | $EncodeUTF8 %] [% item.biblioitem.subtitle | $EncodeUTF8 %] ( [% item.barcode %] ) has been renewed the maximum number of times by [% borrower.firstname %] [% borrower.surname %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber %]"> [% borrower.cardnumber %] </a> )</p>
 
                                 [% IF Koha.Preference('AllowRenewalLimitOverride') %]
                                     <form method="post" action="/cgi-bin/koha/circ/renew.pl">
@@ -75,7 +85,7 @@
                     <div class="dialog message">
                         <h3>Item renewed:</h3>
                         <p>
-                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]">[% item.biblio.title %] [% item.biblioitem.subtitle %]</a>
+                            <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]">[% item.biblio.title | $EncodeUTF8 %] [% item.biblioitem.subtitle | $EncodeUTF8 %]</a>
                             ( <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber %]&amp;biblionumber=[% item.biblionumber %]&amp;bi=[% item.biblioitemnumber %]#item[% item.itemnumber %]">[% item.barcode %]</a> )
                             renewed for
                             [% borrower.firstname %] [% borrower.surname %] ( <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrower.borrowernumber %]"> [% borrower.cardnumber %] </a> )