Bugzilla – Attachment 138420 Details for
Bug 30965
Add patron autocomplete search to curbside pickups
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30965: Add patron autocomplete search to curbside pickups
Bug-30965-Add-patron-autocomplete-search-to-curbsi.patch (text/plain), 6.29 KB, created by
Katrin Fischer
on 2022-07-31 20:36:14 UTC
(
hide
)
Description:
Bug 30965: Add patron autocomplete search to curbside pickups
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2022-07-31 20:36:14 UTC
Size:
6.29 KB
patch
obsolete
>From 1da7a499cb77e0828b146d46ffa3006a9619e843 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Mon, 27 Jun 2022 14:51:45 +0200 >Subject: [PATCH] Bug 30965: Add patron autocomplete search to curbside pickups > >Prior to this patch librarians had to know the cardnumber to search for >patron. Now it's possible to search using the default patron >autocomplete search (name, cardnumber, etc.) > >Test plan: >Confirm that you can search for a patron without their cardnumber, >select it and create a curbside pickup > >Sponsored-by: Association KohaLa - https://koha-fr.org/ > >Signed-off-by: Koha Team University Lyon 3 <koha@univ-lyon3.fr> > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > circ/curbside_pickups.pl | 30 +++++------------- > .../prog/en/modules/circ/curbside_pickups.tt | 31 ++++++++++--------- > 2 files changed, 24 insertions(+), 37 deletions(-) > >diff --git a/circ/curbside_pickups.pl b/circ/curbside_pickups.pl >index 1de97f9c84..6443e2c103 100755 >--- a/circ/curbside_pickups.pl >+++ b/circ/curbside_pickups.pl >@@ -45,31 +45,17 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > my $branchcode = C4::Context->userenv()->{'branch'}; > my $libraries = Koha::Libraries->search( {}, { order_by => ['branchname'] } ); > if ( $op eq 'find-patron' ) { >- my $cardnumber = $input->param('cardnumber'); > my $borrowernumber = $input->param('borrowernumber'); > >- my $patron = >- $cardnumber >- ? Koha::Patrons->find( { cardnumber => $cardnumber } ) >- : Koha::Patrons->find($borrowernumber); >+ my $patron = Koha::Patrons->find($borrowernumber); > >- my $existing_curbside_pickups; >- >- if ( $patron ){ >- $existing_curbside_pickups = Koha::CurbsidePickups->search( >- { >- branchcode => $branchcode, >- borrowernumber => $patron->id, >- delivered_datetime => undef, >- } >- )->filter_by_scheduled_today; >- } else { >- push @messages, { >- type => 'error', >- code => 'no_patron_found', >- cardnumber => $cardnumber >- }; >- } >+ my $existing_curbside_pickups = Koha::CurbsidePickups->search( >+ { >+ branchcode => $branchcode, >+ borrowernumber => $patron->id, >+ delivered_datetime => undef, >+ } >+ )->filter_by_scheduled_today; > > $tab = 'schedule-pickup'; > $template->param( >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/curbside_pickups.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/curbside_pickups.tt >index cc7ba2df2c..909708a44d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/curbside_pickups.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/curbside_pickups.tt >@@ -90,8 +90,6 @@ > <span>There are no more pickups available for this slot. Please choose another one.</span> > [% CASE 'cannot_checkout' %] > <span>Unable to check the items out to [% INCLUDE 'patron-title.inc' patron=m.patron %]</span> >- [% CASE 'no_patron_found' %] >- <span>No patron found with cardnumber [% m.cardnumber | html %].</span> > [% CASE %] > <span>[% m.code | html %]</span> > [% END %] >@@ -435,20 +433,13 @@ > [% patron.firstname | html %] [% patron.surname | html %] ([% patron.cardnumber | html %]) already has a scheduled pickup for this library. > </div> > [% END %] >- <form method="post" class="form-inline"> >- <input type="hidden" name="op" value="find-patron"/> >- <input type="hidden" name="tab" value="schedule-pickup"/> >- >- <div class="form-group"> >- <label class="sr-only" for="input-patron-cardnumber">Cardnumber</label> >- <div class="input-group"> >- <div class="input-group-addon">Card number</div> >- <input type="text" class="form-control" name="cardnumber" id="input-patron-cardnumber" placeholder="Enter patron cardnumber"/> >- </div> >+ <div class="form-group"> >+ <label class="sr-only" for="input-patron-cardnumber">Cardnumber</label> >+ <div class="input-group"> >+ <div class="input-group-addon">Search a patron</div> >+ <input autocomplete="off" id="find-patron" class="form-control" type="text" style="width:25%" class="noEnterSubmit" placeholder="Enter patron cardnumber or name"//> > </div> >- >- <button type="submit" class="btn btn-default">Submit</button> >- </form> >+ </div> > [% ELSE %] > [% SET waiting_holds = patron.holds.search( found => 'W', branchcode => Branches.GetLoggedInBranchcode ) %] > [% IF !policy.enable_waiting_holds_only || waiting_holds.count > 0 %] >@@ -523,6 +514,7 @@ > <script>dayjs.extend(window.dayjs_plugin_isSameOrAfter)</script> > <script>dayjs.extend(window.dayjs_plugin_customParseFormat)</script> > [% INCLUDE 'calendar.inc' %] >+ [% INCLUDE 'js-patron-format.inc' %] > <script> > let pickups = [% To.json(curbside_pickups.unblessed) | $raw %]; > let policy = [% To.json(policy.unblessed) | $raw %]; >@@ -654,6 +646,15 @@ > } > return true; > }); >+ >+ if ( $("#find-patron").length ) { >+ patron_autocomplete($("#find-patron"), { 'on-select-callback': function( event, ui ) { >+ window.location.href = "/cgi-bin/koha/circ/curbside_pickups.pl?op=find-patron&borrowernumber=" + ui.item.patron_id; >+ return false; >+ } >+ }); >+ } >+ > }); > </script> > [% END %] >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30965
:
136583
|
137097
|
137309
|
138402
| 138420 |
138421