Bug 21978: Use patron-title for holdfor handling in results
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 3 May 2022 10:07:00 +0000 (11:07 +0100)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 24 Jun 2022 15:29:07 +0000 (12:29 -0300)
This patch update the catalogue search results page to use the
patron-title include to display patron titles for the 'Holds for' line
in results and dropdown list.

Test plan
1) Load patron account
2) Press search to hold
3) Perform a search which brings back 2+ items (e.g. 'street')
4) Note that on the search results it says:  Place hold for 'firstname
   (othername) surname (cardnumber)'
5) Press the Place hold button and note that the dropdown includes
   "Place hold for 'firstname (othername) surname'" and "Forget
   'firstname (othername) surname'"
6) Click through to an item from the results, press the 'Place hold'
   button and note the dropdown includes "Place hold for 'firstname
   (othername) surname'"

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
catalogue/ISBDdetail.pl
catalogue/MARCdetail.pl
catalogue/detail.pl
catalogue/imageviewer.pl
catalogue/labeledMARCdetail.pl
catalogue/moredetail.pl
catalogue/search.pl
koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt
koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt

index d991d3e..7bb4e61 100755 (executable)
@@ -108,9 +108,8 @@ my $res = GetISBDView({
 if($query->cookie("holdfor")){ 
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     $template->param(
-        holdfor => $query->cookie("holdfor"),
-        holdfor_surname => $holdfor_patron->surname,
-        holdfor_firstname => $holdfor_patron->firstname,
+        holdfor            => $query->cookie("holdfor"),
+        holdfor_patron     => $holdfor_patron,
         holdfor_cardnumber => $holdfor_patron->cardnumber,
     );
 }
index 4ff6a03..8211d58 100755 (executable)
@@ -110,9 +110,8 @@ my $biblio = GetBiblioData($biblionumber);
 if($query->cookie("holdfor")){ 
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     $template->param(
-        holdfor => $query->cookie("holdfor"),
-        holdfor_surname => $holdfor_patron->surname,
-        holdfor_firstname => $holdfor_patron->firstname,
+        holdfor            => $query->cookie("holdfor"),
+        holdfor_patron     => $holdfor_patron,
         holdfor_cardnumber => $holdfor_patron->cardnumber,
     );
 }
index 3bf6255..2bdb72c 100755 (executable)
@@ -103,10 +103,8 @@ if($query->cookie("holdfor")){
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     if ( $holdfor_patron ) {
         $template->param(
-            # FIXME Should pass the patron object
             holdfor => $query->cookie("holdfor"),
-            holdfor_surname => $holdfor_patron->surname,
-            holdfor_firstname => $holdfor_patron->firstname,
+            holdfor_patron => $holdfor_patron,
             holdfor_cardnumber => $holdfor_patron->cardnumber,
         );
     }
index e9c43a3..2fede23 100755 (executable)
@@ -50,8 +50,7 @@ if ( $query->cookie("holdfor") ) {
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     $template->param(
         holdfor            => $query->cookie("holdfor"),
-        holdfor_surname    => $holdfor_patron->surname,
-        holdfor_firstname  => $holdfor_patron->firstname,
+        holdfor_patron     => $holdfor_patron,
         holdfor_cardnumber => $holdfor_patron->cardnumber,
     );
 }
index 785c292..08fbe6a 100755 (executable)
@@ -73,9 +73,8 @@ my $biblio = GetBiblioData($biblionumber);
 if($query->cookie("holdfor")){ 
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     $template->param(
-        holdfor => $query->cookie("holdfor"),
-        holdfor_surname => $holdfor_patron->surname,
-        holdfor_firstname => $holdfor_patron->firstname,
+        holdfor            => $query->cookie("holdfor"),
+        holdfor_patron     => $holdfor_patron,
         holdfor_cardnumber => $holdfor_patron->cardnumber,
     );
 }
index cff2460..4d9cf40 100755 (executable)
@@ -55,9 +55,8 @@ $template->param(
 if($query->cookie("holdfor")){ 
     my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") );
     $template->param(
-        holdfor => $query->cookie("holdfor"),
-        holdfor_surname => $holdfor_patron->surname,
-        holdfor_firstname => $holdfor_patron->firstname,
+        holdfor            => $query->cookie("holdfor"),
+        holdfor_patron     => $holdfor_patron,
         holdfor_cardnumber => $holdfor_patron->cardnumber,
     );
 }
index ef7f490..2097f13 100755 (executable)
@@ -203,9 +203,8 @@ if($cgi->cookie("holdfor")){
     my $holdfor_patron = Koha::Patrons->find( $cgi->cookie("holdfor") );
     if ( $holdfor_patron ) { # may have been deleted in the meanwhile
         $template->param(
-            holdfor => $cgi->cookie("holdfor"),
-            holdfor_surname => $holdfor_patron->surname,
-            holdfor_firstname => $holdfor_patron->firstname,
+            holdfor            => $cgi->cookie("holdfor"),
+            holdfor_patron     => $holdfor_patron,
             holdfor_cardnumber => $holdfor_patron->cardnumber,
         );
     }
index 1f352ab..a643519 100644 (file)
                 </button>
                 <ul class="dropdown-menu">
                     <li><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber | uri %]">Place hold</a></li>
-                    <li><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></li>
+                    <li><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% INCLUDE 'patron-title.inc' patron => holdfor_patron no_title => 1 %]</a></li>
                 </ul>
             </div>
         [% ELSE %]
index 50f24e0..b9b7208 100644 (file)
                                         <ul class="dropdown-menu">
                                             <li><a href="#" class="placehold">Place hold</a></li>
                                             [% IF holdfor %]
-                                                <li><a href="#" class="placeholdfor">Place hold for [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></li>
+                                            <li><a href="#" class="placeholdfor">Place hold for [% INCLUDE 'patron-title.inc' patron => holdfor_patron no_title => 1 no_cardnumber => 1 %]</a></li>
                                                 <li class="divider"></li>
-                                                <li><a href="#" id="forgetholdfor">Forget  [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></li>
+                                                <li><a href="#" id="forgetholdfor">Forget [% INCLUDE 'patron-title.inc' patron => holdfor_patron no_title => 1 no_cardnumber => 1 %]</a></li>
                                             [% END %]
                                             [% IF holdforclub %]
                                                 <li><a href="#" class="placeholdforclub">Place hold for [% holdforclub_name | html %]</a></li>
                                                     [% ELSE %]
                                                         [% IF CAN_user_reserveforothers_place_holds %]
                                                             <a id="reserve_[% SEARCH_RESULT.biblionumber | html %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">Holds ([% Biblio.HoldsCount( SEARCH_RESULT.biblionumber ) | html %])</a>
-                                                            [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></span>[% END %]
+                                                            [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% INCLUDE 'patron-title.inc' patron => holdfor_patron no_title => 1 no_cardnumber => 1 %]</a></span>[% END %]
                                                             [% IF ( holdforclub ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% SEARCH_RESULT.biblionumber | uri %]&amp;club=[% holdforclub | uri %]">Place hold for [% holdforclub_name | html %]</a></span>[% END %]
                                                         [% ELSE %]
                                                             <span>Holds ([% Biblio.HoldsCount( SEARCH_RESULT.biblionumber ) | html %])</span>
index 98a0c03..47e164b 100644 (file)
                         [% ELSE %]
                             [% IF ( itemsloo.ITEM_RESULTS.size ) %]
                                 <a id="reserve_[% itemsloo.biblionumber | html %]" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber | html %]">Holds</a>
-                                [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% holdfor_firstname | html %] [% holdfor_surname | html %] ([% holdfor_cardnumber | html %])</a></span>[% END %]
+                                [% IF ( holdfor ) %] <span class="holdforlink">| <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% itemsloo.biblionumber | uri %]&amp;findborrower=[% holdfor_cardnumber | uri %]">Place hold for [% INCLUDE 'patron-title.inc' patron => holdfor_patron no_title => 1 %]</a></span>[% END %]
                             [% ELSE %]
                                 <span class="noholdstext">No holds allowed</span>
                             [% END %]