From dc94a9bef79dc6d186fe93d82dac10cab0468d24 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 13 Jun 2013 14:20:43 -0300 Subject: [PATCH] Bug 10464: Patron search on placing a hold now supports autocomplete MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The patron search box for placing a hold request on a bib in the staff interface now supports autocomplete if the CircAutocompl system preference is enabled. This patch grabs the autocomplete handling javascript stuff from patron-search-box.inc and puts an adjusted version on reserve/request.tt. It sets form and input IDs to match those configured in the autocomplete call, adjusted where needed to avoid name collisions with the patron-search-box.inc that is present everywhere. This patch also doubles the width of the patron search input field. To test: - On a biblio record, go to the Holds tab, mine looks like /cgi-bin/koha/reserve/request.pl?biblionumber=2 - A search box is shown for patron searching. - Search for a patron: it works as usual. - Make sure CircAutocompl is "Don't try" - Apply the patch - Click the Holds tab again, and do the same search: functionality should remain intact. - Change CircAutocompl to "Try" - Click the Holds tab again - Autocomplete should show you the possible options, and once you choose one result, it should work as usual. Sponsored-by: Universidad Nacional de Córdoba Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer Passes all tests and QA script. Adding a nice new autocomplete feature. Signed-off-by: Galen Charlton --- .../prog/en/modules/reserve/request.tt | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index f2c75643f0..75eea4d680 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -130,6 +130,30 @@ function checkMultiHold() { }); $('#hold-request-form').preventDoubleFormSubmit(); + +[% UNLESS ( borrowernumber || borrower_list ) %] + [% IF ( CircAutocompl ) %] + $( "#patron" ).autocomplete({ + source: "/cgi-bin/koha/circ/ysearch.pl", + minLength: 3, + select: function( event, ui ) { + $( "#patron" ).val( ui.item.cardnumber ); + $( "#holds_patronsearch" ).submit(); + return false; + } + }) + .data( "autocomplete" )._renderItem = function( ul, item ) { + return $( "
  • " ) + .data( "item.autocomplete", item ) + .append( "" + item.surname + ", " + item.firstname + + " (" + item.cardnumber + ") " + item.address + + " " + item.city + " " + item.zipcode + " " + + item.country + "" ) + .appendTo( ul ); + }; + [% END %] +[% END %] + }); // ]]> @@ -176,15 +200,15 @@ function checkMultiHold() { [% IF ( messageborrower ) %]

    Patron Not Found

    No patron with this name, please, try another

    [% END %] -
    + [% UNLESS borrower_list %] -
    - -
    Enter patron card number or partial name:
    - - +
    + +
    Enter patron card number or partial name:
    + -
    + +
    [% ELSE %]