In MapItemsToHoldRequests we first attempt to fill holds with local priority - if we find any we mark the request 'allocated' then pass remaining holds to _allocateWithTransportCostMatrix, however, that routine doesn't filter out allocated holds To recreate: 1 - Enable RealTimeHoldsQueue 2 - Enable UseTransportCostMatrix 3 - Enable LocalHoldsPriority Give/Home/Home 4 - Administration - Transport cost matrix - enable transfers to/from Centreville and other libraries, add a cost, and save 5 - Find a bib with a Centerville item 6 - Place a hold for a centerville patron 7 - Circulation - Holds queue - All libraries 8 - Note hold is entered twice 9 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force 10 - Run holds queue again, still there twice
Created attachment 172548 [details] [review] Bug 38126: Skip allocated holds when filling from transport cost matrix This patch simply weeds out allocated holds before filling from the matrix To test: 1 - Enable RealTimeHoldsQueue 2 - Enable UseTransportCostMatrix 3 - Enable LocalHoldsPriority Give/Home/Home 4 - Administration - Transport cost matrix - enable transfers to/from Centreville and other libraries, add a cost, and save 5 - Find a bib with a Centerville item 6 - Place a hold for a centerville patron 7 - Circulation - Holds queue - All libraries 8 - Note hold is entered twice 9 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force 10 - Run holds queue again, still there twice 11 - Apply patch 12 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force Confirm allocated only once 13 - Delete hold, place again from bib record (to test real time allocation) 14 - Confirm allocated only once
Created attachment 172568 [details] [review] Bug 38126: Skip allocated holds when filling from transport cost matrix This patch simply weeds out allocated holds before filling from the matrix To test: 1 - Enable RealTimeHoldsQueue 2 - Enable UseTransportCostMatrix 3 - Enable LocalHoldsPriority Give/Home/Home 4 - Administration - Transport cost matrix - enable transfers to/from Centreville and other libraries, add a cost, and save 5 - Find a bib with a Centerville item 6 - Place a hold for a centerville patron 7 - Circulation - Holds queue - All libraries 8 - Note hold is entered twice 9 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force 10 - Run holds queue again, still there twice 11 - Apply patch 12 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force Confirm allocated only once 13 - Delete hold, place again from bib record (to test real time allocation) 14 - Confirm allocated only once Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 172586 [details] [review] Bug 38126: Skip allocated holds when filling from transport cost matrix This patch simply weeds out allocated holds before filling from the matrix To test: 1 - Enable RealTimeHoldsQueue 2 - Enable UseTransportCostMatrix 3 - Enable LocalHoldsPriority Give/Home/Home 4 - Administration - Transport cost matrix - enable transfers to/from Centreville and other libraries, add a cost, and save 5 - Find a bib with a Centerville item 6 - Place a hold for a centerville patron 7 - Circulation - Holds queue - All libraries 8 - Note hold is entered twice 9 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force 10 - Run holds queue again, still there twice 11 - Apply patch 12 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force Confirm allocated only once 13 - Delete hold, place again from bib record (to test real time allocation) 14 - Confirm allocated only once Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Created attachment 172697 [details] [review] Bug 38126: Skip allocated holds when filling from transport cost matrix This patch simply weeds out allocated holds before filling from the matrix To test: 1 - Enable RealTimeHoldsQueue 2 - Enable UseTransportCostMatrix 3 - Enable LocalHoldsPriority Give/Home/Home 4 - Administration - Transport cost matrix - enable transfers to/from Centreville and other libraries, add a cost, and save 5 - Find a bib with a Centerville item 6 - Place a hold for a centerville patron 7 - Circulation - Holds queue - All libraries 8 - Note hold is entered twice 9 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force 10 - Run holds queue again, still there twice 11 - Apply patch 12 - On command line: perl misc/cronjobs/holds/build_holds_queue.pl --force Confirm allocated only once 13 - Delete hold, place again from bib record (to test real time allocation) 14 - Confirm allocated only once Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Pushed for 24.11! Well done everyone, thank you!
Backported to 24.05.x for upcoming 24.05.05
*** Bug 37594 has been marked as a duplicate of this bug. ***
Depends on Bug 35826 not in 23.11.x