Bug 27863 highlighted that, when we are choosing pickup locations and AllowHoldsPolicyOverride is set, some visual feedback on which are 'valid pickup locations' and which are overridden would be handy for the end user.
Created attachment 118121 [details] [review] Bug 27894: Unit tests This patch adds tests for the changed behavior.
Created attachment 118122 [details] [review] Bug 27894: Adapt /holds/:hold_id/pickup_locations This patch makes the controller for the route, return all valid pickup locations (i.e. pickup_location => 1) when AllowHoldPolicyOverride is set to 'Allow', but also adds a calculated attribute: 'needs_override' so the consumer knows the specific pickup location needs an override (and thus be able to provide visual feedback on a single run). To test: 1. Apply the regression tests 2. Run: $ kshell k$ prove t/db_dependent/api/v1/holds.t => FAILURE: Tests fail, the change is not implemented 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D
Created attachment 118123 [details] [review] Bug 27894: Add visual feedback on overridden pickup locations This patch takes advantage of the previous changes, and makes the select2 dropdown display a warning sign (with a tooltip) on pickup locations that, if chosen, it would mean a circ rule would be overridden. To test: 1. Have some pickup locations that are not valid for existing holds and AllowHoldPolicyOverride set to "Don't allow" 2. Visit a biblio with some holds 3. Choose a hold that cannot use some pickup location and use the dropdown => SUCCESS: Only valid pickup locations are retrieved 4. Set Allow HoldPolicyOverride to "Allow" 5. Refresh the page (I usually click on the Holds tab) 6 .Repeat 3 => SUCCESS: All pickup locations in the system are displayed => FAIL: No visual feedback on overridden pickup locations :-( 7. Apply this patch and refresh the page 8. Repeat 3 => SUCCESS: All pickup locations in the systema are displayed => SUCCESS: Visual feedback on overridden pickup locations is shown! 9. Set AllowHoldPolicyOverride to "Don't allow" 10. Repeat 3 => SUCCESS: Only valid pickup locations are retrieved => SUCCESS: No overrridden warn/symbol, as expected 11. Sign off :-D
Created attachment 118583 [details] [review] Bug 27894: Unit tests This patch adds tests for the changed behavior. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 118584 [details] [review] Bug 27894: Adapt /holds/:hold_id/pickup_locations This patch makes the controller for the route, return all valid pickup locations (i.e. pickup_location => 1) when AllowHoldPolicyOverride is set to 'Allow', but also adds a calculated attribute: 'needs_override' so the consumer knows the specific pickup location needs an override (and thus be able to provide visual feedback on a single run). To test: 1. Apply the regression tests 2. Run: $ kshell k$ prove t/db_dependent/api/v1/holds.t => FAILURE: Tests fail, the change is not implemented 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 118585 [details] [review] Bug 27894: Add visual feedback on overridden pickup locations This patch takes advantage of the previous changes, and makes the select2 dropdown display a warning sign (with a tooltip) on pickup locations that, if chosen, it would mean a circ rule would be overridden. To test: 1. Have some pickup locations that are not valid for existing holds and AllowHoldPolicyOverride set to "Don't allow" 2. Visit a biblio with some holds 3. Choose a hold that cannot use some pickup location and use the dropdown => SUCCESS: Only valid pickup locations are retrieved 4. Set Allow HoldPolicyOverride to "Allow" 5. Refresh the page (I usually click on the Holds tab) 6 .Repeat 3 => SUCCESS: All pickup locations in the system are displayed => FAIL: No visual feedback on overridden pickup locations :-( 7. Apply this patch and refresh the page 8. Repeat 3 => SUCCESS: All pickup locations in the systema are displayed => SUCCESS: Visual feedback on overridden pickup locations is shown! 9. Set AllowHoldPolicyOverride to "Don't allow" 10. Repeat 3 => SUCCESS: Only valid pickup locations are retrieved => SUCCESS: No overrridden warn/symbol, as expected 11. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 119167 [details] [review] Bug 27894: Unit tests This patch adds tests for the changed behavior. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Created attachment 119168 [details] [review] Bug 27894: Adapt /holds/:hold_id/pickup_locations This patch makes the controller for the route, return all valid pickup locations (i.e. pickup_location => 1) when AllowHoldPolicyOverride is set to 'Allow', but also adds a calculated attribute: 'needs_override' so the consumer knows the specific pickup location needs an override (and thus be able to provide visual feedback on a single run). To test: 1. Apply the regression tests 2. Run: $ kshell k$ prove t/db_dependent/api/v1/holds.t => FAILURE: Tests fail, the change is not implemented 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Created attachment 119169 [details] [review] Bug 27894: Add visual feedback on overridden pickup locations This patch takes advantage of the previous changes, and makes the select2 dropdown display a warning sign (with a tooltip) on pickup locations that, if chosen, it would mean a circ rule would be overridden. To test: 1. Have some pickup locations that are not valid for existing holds and AllowHoldPolicyOverride set to "Don't allow" 2. Visit a biblio with some holds 3. Choose a hold that cannot use some pickup location and use the dropdown => SUCCESS: Only valid pickup locations are retrieved 4. Set Allow HoldPolicyOverride to "Allow" 5. Refresh the page (I usually click on the Holds tab) 6 .Repeat 3 => SUCCESS: All pickup locations in the system are displayed => FAIL: No visual feedback on overridden pickup locations :-( 7. Apply this patch and refresh the page 8. Repeat 3 => SUCCESS: All pickup locations in the systema are displayed => SUCCESS: Visual feedback on overridden pickup locations is shown! 9. Set AllowHoldPolicyOverride to "Don't allow" 10. Repeat 3 => SUCCESS: Only valid pickup locations are retrieved => SUCCESS: No overrridden warn/symbol, as expected 11. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Pushed to master for 21.05, thanks to everybody involved!
Depends on Bug 27863 not in 20.11.x