From 69d7151d27abfc56bead8b7383e6d2d3f1406c70 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 1 Feb 2022 11:06:49 +0100 Subject: [PATCH] Bug 29136: Ajaxify the patron search when placing a hold Signed-off-by: David Nind Signed-off-by: Nick Clemens --- .../includes/circ-patron-search-results.inc | 45 ------ .../prog/en/modules/reserve/request.tt | 133 ++++++++++++------ .../modules/reserve/tables/members_results.tt | 32 +++++ .../prog/js/circ-patron-search-results.js | 13 -- reserve/request.pl | 20 +-- 5 files changed, 124 insertions(+), 119 deletions(-) delete mode 100644 koha-tmpl/intranet-tmpl/prog/en/includes/circ-patron-search-results.inc create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/reserve/tables/members_results.tt delete mode 100644 koha-tmpl/intranet-tmpl/prog/js/circ-patron-search-results.js diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-patron-search-results.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-patron-search-results.inc deleted file mode 100644 index f7ab99ba93..0000000000 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-patron-search-results.inc +++ /dev/null @@ -1,45 +0,0 @@ -[% USE KohaDates %] - - - - - - - - - - - - - - [% FOREACH borrower IN borrowers %] - [% IF destination == "circ" %] - - - [% ELSIF destination == "holds" %] - [% SET data_url = "/cgi-bin/koha/reserve/request.pl?borrowernumber=" _ borrower.borrowernumber %] - [% FOREACH biblionumber IN biblionumbers %] - [% SET data_url = data_url _ "&biblionumber=" _ biblionumber %] - [% END %] - [% IF multi_hold %] - [% SET data_url = data_url _ "&multi_hold=1" %] - [% END %] - - - [% END %] - - - - - - - - [% END %] - -
NameCard numberDate of birthCategoryLibraryAddressPrimary phone
[% borrower.surname | html %], [% borrower.firstname | html %]
[% borrower.surname | html %], [% borrower.firstname | html %][% borrower.cardnumber | html %][% INCLUDE 'patron-age.inc' patron = borrower %][% Categories.GetName( borrower.categorycode ) | html %] - [% IF ( Branches.GetLoggedInBranchcode == borrower.branchcode && !singleBranchMode ) %] - [% Branches.GetName( borrower.branchcode ) | html %] - [% ELSE %] - [% Branches.GetName( borrower.branchcode ) | html %] - [% END %] - [% borrower.address | html %][% borrower.phone | html %]
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 b7e81156b5..4908bc479e 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -163,18 +163,30 @@ [% END %]
-
+
Enter patron card number or partial name:
- + [% FOREACH biblionumber IN biblionumbers %] [% END %] -
- [% IF borrowers %] - [% INCLUDE 'circ-patron-search-results.inc' destination = "holds" %] - [% END %] + + + + + + + + + + + + + + + +
[% IF clubcount %]
@@ -1146,7 +1158,6 @@ [% INCLUDE 'calendar.inc' %] [% INCLUDE 'columns_settings.inc' %] [% Asset.js("lib/hc-sticky.js") | $raw %] - [% Asset.js("js/circ-patron-search-results.js") | $raw %] [% INCLUDE 'select2.inc' %] [% Asset.js("js/holds.js") | $raw%] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/tables/members_results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/tables/members_results.tt new file mode 100644 index 0000000000..15370307a5 --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/tables/members_results.tt @@ -0,0 +1,32 @@ +[% USE raw %] +[% USE I18N %] +[% USE To %] +[% USE Price %] +[% PROCESS 'member-display-address-style.inc' %] +{ + "sEcho": [% sEcho | html %], + "iTotalRecords": [% iTotalRecords | html %], + "iTotalDisplayRecords": [% iTotalDisplayRecords | html %], + "aaData": [ + [% FOREACH data IN aaData %] + { + "dt_name": + "[% INCLUDE 'patron-title.inc' borrowernumber = data.borrowernumber category_type = data.category_type firstname = data.firstname surname = data.surname othernames = data.othernames invert_name = 1 | $To %]
", + "dt_address": + "[%~ INCLUDE 'display-address-style' patron=data no_line_break=1 | $To ~%]", + "dt_cardnumber": + "[% data.cardnumber | html | $To %]", + "dt_dateofbirth": + "[% INCLUDE 'patron-age.inc' patron = data %]", + "dt_category": + "[% data.category_description | html | $To %] ([% data.category_type | html | $To %])", + "dt_branch": + "[% data.branchname | html | $To %]", + "dt_phone": + "[% data.phone| html | $To %]", + "borrowernumber": + "[% data.borrowernumber | html %]" + }[% UNLESS loop.last %],[% END %] + [% END %] + ] +} diff --git a/koha-tmpl/intranet-tmpl/prog/js/circ-patron-search-results.js b/koha-tmpl/intranet-tmpl/prog/js/circ-patron-search-results.js deleted file mode 100644 index 578a1b8a2d..0000000000 --- a/koha-tmpl/intranet-tmpl/prog/js/circ-patron-search-results.js +++ /dev/null @@ -1,13 +0,0 @@ -/* global dataTablesDefaults */ -$(document).ready(function() { - $(".clickable").click(function() { - window.document.location = $(this).data('url'); - }); - var table = KohaTable("table_borrowers", - { - "aaSorting": [ 0, "asc" ], - "sDom": "t", - "paging": false - }, - columns_settings_borrowers_table, null); -}); diff --git a/reserve/request.pl b/reserve/request.pl index 19c5c13d0a..2b05a5f579 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -144,25 +144,7 @@ elsif ( $action eq 'cancelBulk' ) { if ($findborrower) { my $patron = Koha::Patrons->find( { cardnumber => $findborrower } ); - if ( $patron ) { - $borrowernumber_hold = $patron->borrowernumber; - } else { - my $dt_params = { iDisplayLength => -1 }; - my $results = C4::Utils::DataTables::Members::search( - { - searchmember => $findborrower, - dt_params => $dt_params, - } - ); - my $borrowers = $results->{patrons}; - if ( scalar @$borrowers == 1 ) { - $borrowernumber_hold = $borrowers->[0]->{borrowernumber}; - } elsif ( @$borrowers ) { - $template->param( borrowers => $borrowers ); - } else { - $messageborrower = "'$findborrower'"; - } - } + $borrowernumber_hold = $patron->borrowernumber if $patron; } if($findclub) { -- 2.30.2