Bugzilla – Attachment 120908 Details for
Bug 28338
Validate item holdability and pickup location separately
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28338: Default to holding branch to save clicks
Bug-28338-Default-to-holding-branch-to-save-clicks.patch (text/plain), 6.40 KB, created by
Tomás Cohen Arazi (tcohen)
on 2021-05-12 20:45:46 UTC
(
hide
)
Description:
Bug 28338: Default to holding branch to save clicks
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2021-05-12 20:45:46 UTC
Size:
6.40 KB
patch
obsolete
>From 4a36708e5ac4e8db39d9ec41681c5c8d5fc6eb73 Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Wed, 12 May 2021 17:02:27 -0300 >Subject: [PATCH] Bug 28338: Default to holding branch to save clicks > >This patch makes request.pl pass the holding library object to the >template, if it is a valid pickup location for the item. This way, the >template can set a good default to save clicks. > >To test: >1. Have "Hold pickup library match" set to "Item's home library" >2. Have a record with items in three different branches. For example: > - item1: homebranch: MPL, holdingbranch: MPL > - item2: homebranch: FPL, holdingbranch: FPL > - item3: homebranch: CPL, holdingbranch: IPT >3. Have FPL marked as 'No' for pickup location >4. On the record, open the page for placing a hold for a patron > (acevedo?) >=> SUCCESS: You are presented the regular hold placing page, with an >extra column on the items for pickup location setting >=> SUCCESS: The item2 (on FPL) cannot be selected, there's a clear message >about not having valid pickup locations >=> FAIL: The other ones don't have anything pre-selected on the >dropdowns >5. Apply this patch >6. Repeat 4 (go back to the record, etc) >=> SUCCESS: Nothing changed BUT the item with holding branch = MPL has >it set by default in the dropdown. >=> SUCCESS: IPT is not a valid pickup location for item3, so not set by >default in this case. >7. Sign off :-D > >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > .../intranet-tmpl/prog/en/modules/reserve/request.tt | 8 ++++++-- > reserve/placerequest.pl | 7 ++++--- > reserve/request.pl | 6 +++++- > 3 files changed, 15 insertions(+), 6 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 7b6fbf77b57..211b9904edc 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >@@ -724,9 +724,13 @@ > </td> > <td> > [% IF (itemloo.pickup_locations_count > 0) %] >- <select name="item_pickup" class="pickup_locations" >+ <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" > data-item-id="[% itemloo.itemnumber | html %]" >- data-patron-id="[% patron.borrowernumber | html %]"></select> >+ data-patron-id="[% patron.borrowernumber | html %]"> >+ [% IF (itemloo.default_pickup_location) %] >+ <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option> >+ [% END %] >+ </select> > [% END %] > </td> > </tr> >diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl >index 2e715ef8040..9e83661c337 100755 >--- a/reserve/placerequest.pl >+++ b/reserve/placerequest.pl >@@ -45,7 +45,6 @@ my $biblionumber = $input->param('biblionumber'); > my $borrowernumber = $input->param('borrowernumber'); > my $notes = $input->param('notes'); > my $branch = $input->param('pickup'); >-my $item_pickup = $input->param('item_pickup'); > my $startdate = $input->param('reserve_date') || ''; > my @rank = $input->multi_param('rank-request'); > my $type = $input->param('type'); >@@ -94,18 +93,20 @@ if ( $type eq 'str8' && $borrower ) { > my $can_override = C4::Context->preference('AllowHoldPolicyOverride'); > if ( defined $checkitem && $checkitem ne '' ) { > >+ my $item_pickup_location = $input->param("item_pickup_$checkitem"); >+ > my $item = Koha::Items->find($checkitem); > > if ( $item->biblionumber ne $biblionumber ) { > $biblionumber = $item->biblionumber; > } > >- my $can_item_be_reserved = CanItemBeReserved($borrower->{'borrowernumber'}, $item->itemnumber, $item_pickup)->{status}; >+ my $can_item_be_reserved = CanItemBeReserved($borrower->{'borrowernumber'}, $item->itemnumber, $item_pickup_location)->{status}; > > if ( $can_item_be_reserved eq 'OK' || ( $can_item_be_reserved ne 'itemAlreadyOnHold' && $can_override ) ) { > AddReserve( > { >- branchcode => $item_pickup, >+ branchcode => $item_pickup_location, > borrowernumber => $borrower->{'borrowernumber'}, > biblionumber => $biblionumber, > priority => $rank[0], >diff --git a/reserve/request.pl b/reserve/request.pl >index b570818b759..f9847ada773 100755 >--- a/reserve/request.pl >+++ b/reserve/request.pl >@@ -578,10 +578,14 @@ foreach my $biblionumber (@biblionumbers) { > ) > { > # Send the pickup locations count to the UI, the pickup locations will be pulled using the API >- $item->{pickup_locations_count} = $item_object->pickup_locations({ patron => $patron })->count; >+ my $pickup_locations = $item_object->pickup_locations({ patron => $patron }); >+ $item->{pickup_locations_count} = $pickup_locations->count; > if ( $item->{pickup_locations_count} > 0 ) { > $num_available++; > $item->{available} = 1; >+ # pass the holding branch for use as default >+ my $default_pickup_location = $pickup_locations->search({ branchcode => $item->{holdingbranch} })->next; >+ $item->{default_pickup_location} = $default_pickup_location; > } > else { > $item->{available} = 0; >-- >2.31.1
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 28338
:
120896
|
120905
|
120908
|
120920
|
120921
|
120931
|
120932
|
120938
|
120939