Summary: | When hold is overridden cannot select a pickup location | ||
---|---|---|---|
Product: | Koha | Reporter: | Nick Clemens (kidclamp) <nick> |
Component: | Hold requests | Assignee: | Nick Clemens (kidclamp) <nick> |
Status: | CLOSED FIXED | QA Contact: | Marcel de Rooy <m.de.rooy> |
Severity: | major | ||
Priority: | P5 - low | CC: | fridolin.somers, gmcharlt, jonathan.druart, kyle, m.de.rooy, tomascohen |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27895 | ||
Change sponsored?: | --- | Patch complexity: | Small patch |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: |
21.11.00,21.05.05
|
|
Circulation function: | |||
Bug Depends on: | 28338 | ||
Bug Blocks: | |||
Attachments: |
Bug 27895: Prepare pickup locations for overridden holds
Bug 27895: Prepare pickup locations for overridden holds Bug 28748: Prepare pickup locations for overridden holds Bug 28748: Prepare pickup locations for overridden holds |
Description
Nick Clemens (kidclamp)
2021-07-23 13:25:33 UTC
Created attachment 125782 [details] [review] Bug 27895: Prepare pickup locations for overridden holds The logic in request.pl only passes pickup locations if a hold is allowed, they are not calculated when the hold is overridden. This patch copies the pickup locations code into the override conditional, adjusting to mark the item overridden This also highlights an condition of override: If a hold is allowed, but there are no valid pickup locations the override is not allowed. To test: 1 - Set a holds rule to allow on-shelf holds only if all unavailable 2 - Set AllowHoldPolicyOverride to 'Allow' 3 - Find a record with several items available 4 - Attempt to place a hold 5 - The items have a yellow triangle, but no pickup locations 6 - Place an item level hold 7 - Note the hold has no pickup location 8 - Cancel the hold 9 - Apply patch and restart all 10 - Attempt hold again 11 - Items still have yellow triangle, but there are dropdowns for pickup location 12 - Place an item level hold, verify a pickup location is set 13 - Cancel the hold 14 - Alter circ rule to allow on shelf holds 15 - Change 'Default checkout, hold and return policy' - 'Hold pickup library match' to "item's hold group" 16 - Ensure there is no group for the item 17 - Attempt to place hold 18 - Override is not allowed 'No valid pickup locations' Created attachment 125814 [details] [review] Bug 27895: Prepare pickup locations for overridden holds The logic in request.pl only passes pickup locations if a hold is allowed, they are not calculated when the hold is overridden. This patch copies the pickup locations code into the override conditional, adjusting to mark the item overridden This also highlights an condition of override: If a hold is allowed, but there are no valid pickup locations the override is not allowed. To test: 1 - Set a holds rule to allow on-shelf holds only if all unavailable 2 - Set AllowHoldPolicyOverride to 'Allow' 3 - Find a record with several items available 4 - Attempt to place a hold 5 - The items have a yellow triangle, but no pickup locations 6 - Place an item level hold 7 - Note the hold has no pickup location 8 - Cancel the hold 9 - Apply patch and restart all 10 - Attempt hold again 11 - Items still have yellow triangle, but there are dropdowns for pickup location 12 - Place an item level hold, verify a pickup location is set 13 - Cancel the hold 14 - Alter circ rule to allow on shelf holds 15 - Change 'Default checkout, hold and return policy' - 'Hold pickup library match' to "item's hold group" 16 - Ensure there is no group for the item 17 - Attempt to place hold 18 - Override is not allowed 'No valid pickup locations' https://bugs.koha-community.org/show_bug.cgi?id=28748 Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> (In reply to Tomás Cohen Arazi from comment #2) > https://bugs.koha-community.org/show_bug.cgi?id=28748 > Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> What about 28748 ? Correct bug numbers on patches etc Confusing Created attachment 125880 [details] [review] Bug 28748: Prepare pickup locations for overridden holds The logic in request.pl only passes pickup locations if a hold is allowed, they are not calculated when the hold is overridden. This patch copies the pickup locations code into the override conditional, adjusting to mark the item overridden This also highlights an condition of override: If a hold is allowed, but there are no valid pickup locations the override is not allowed. To test: 1 - Set a holds rule to allow on-shelf holds only if all unavailable 2 - Set AllowHoldPolicyOverride to 'Allow' 3 - Find a record with several items available 4 - Attempt to place a hold 5 - The items have a yellow triangle, but no pickup locations 6 - Place an item level hold 7 - Note the hold has no pickup location 8 - Cancel the hold 9 - Apply patch and restart all 10 - Attempt hold again 11 - Items still have yellow triangle, but there are dropdowns for pickup location 12 - Place an item level hold, verify a pickup location is set 13 - Cancel the hold 14 - Alter circ rule to allow on shelf holds 15 - Change 'Default checkout, hold and return policy' - 'Hold pickup library match' to "item's hold group" 16 - Ensure there is no group for the item 17 - Attempt to place hold 18 - Override is not allowed 'No valid pickup locations' Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Created attachment 125881 [details] [review] Bug 28748: Prepare pickup locations for overridden holds The logic in request.pl only passes pickup locations if a hold is allowed, they are not calculated when the hold is overridden. This patch copies the pickup locations code into the override conditional, adjusting to mark the item overridden This also highlights an condition of override: If a hold is allowed, but there are no valid pickup locations the override is not allowed. To test: 1 - Set a holds rule to allow on-shelf holds only if all unavailable 2 - Set AllowHoldPolicyOverride to 'Allow' 3 - Find a record with several items available 4 - Attempt to place a hold 5 - The items have a yellow triangle, but no pickup locations 6 - Place an item level hold 7 - Note the hold has no pickup location 8 - Cancel the hold 9 - Apply patch and restart all 10 - Attempt hold again 11 - Items still have yellow triangle, but there are dropdowns for pickup location 12 - Place an item level hold, verify a pickup location is set 13 - Cancel the hold 14 - Alter circ rule to allow on shelf holds 15 - Change 'Default checkout, hold and return policy' - 'Hold pickup library match' to "item's hold group" 16 - Ensure there is no group for the item 17 - Attempt to place hold 18 - Override is not allowed 'No valid pickup locations' Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> + my $default_pickup_location = $pickup_locations->search({ branchcode => $item->{holdingbranch} })->next; Cannot we use ->find here? Pushed to master for 21.11, thanks to everybody involved! Pushed to 21.05.x for 21.05.05 Depends on Bug 28338 not in 20.11.x |