Bug 12079: ensure that CheckReserves() includes reserve_id in its response
This patch modifies _Findgroupreserve so that its one caller, CheckReserves(), would include the reserve_id field in the hold request it returns. Failure to include reserve_id in every circumstance resulted in bug 11947. This patch is therefore a complementary fix for that bug, but is not meant to preempt the direct fix for that bug. To test: [1] Verify that t/db_dependent/Reserves.t passes. [2] Verify that the following test plan taken from the patch for bug 11947 works for this patch *without* applying the patch for 11947: * have a few borrowers, say 4. * have a biblio with a single item (you can scale this up, it should work just the same.) * issue the item to borrower A * have borrowers B, C, and D place a hold on the item * return the item, acknowledge that it'll be put aside for B. * view the holds on the item. Without the patch: * the hold priorities in the UI end up being "waiting, 2, 1" when they should be "waiting, 1, 2". * in the database "reserves" table, they're really "0, 2, 3" when they should be "0, 1, 2". With the patch: * the hold priorities in the UI end up being "waiting, 1, 2" * in the database, they're "0, 1, 2" Signed-off-by: Galen Charlton <gmc@esilibrary.com> Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Work as described. No koha-qa errors. Test pass Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
5492d82bc2
commit
695fdebdee
2 changed files with 8 additions and 3 deletions
|
@ -1819,7 +1819,8 @@ sub _Findgroupreserve {
|
|||
reserves.priority AS priority,
|
||||
reserves.timestamp AS timestamp,
|
||||
biblioitems.biblioitemnumber AS biblioitemnumber,
|
||||
reserves.itemnumber AS itemnumber
|
||||
reserves.itemnumber AS itemnumber,
|
||||
reserves.reserve_id AS reserve_id
|
||||
FROM reserves
|
||||
JOIN biblioitems USING (biblionumber)
|
||||
JOIN hold_fill_targets USING (biblionumber, borrowernumber)
|
||||
|
@ -1850,7 +1851,8 @@ sub _Findgroupreserve {
|
|||
reserves.priority AS priority,
|
||||
reserves.timestamp AS timestamp,
|
||||
reserveconstraints.biblioitemnumber AS biblioitemnumber,
|
||||
reserves.itemnumber AS itemnumber
|
||||
reserves.itemnumber AS itemnumber,
|
||||
reserves.reserve_id AS reserve_id
|
||||
FROM reserves
|
||||
LEFT JOIN reserveconstraints ON reserves.biblionumber = reserveconstraints.biblionumber
|
||||
WHERE reserves.biblionumber = ?
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 34;
|
||||
use Test::More tests => 35;
|
||||
|
||||
use MARC::Record;
|
||||
use DateTime::Duration;
|
||||
|
||||
|
@ -102,6 +103,8 @@ my ($status, $reserve, $all_reserves) = CheckReserves($itemnumber, $barcode);
|
|||
|
||||
is($status, "Reserved", "CheckReserves Test 1");
|
||||
|
||||
ok(exists($reserve->{reserve_id}), 'CheckReserves() include reserve_id in its response');
|
||||
|
||||
($status, $reserve, $all_reserves) = CheckReserves($itemnumber);
|
||||
is($status, "Reserved", "CheckReserves Test 2");
|
||||
|
||||
|
|
Loading…
Reference in a new issue