LP#1755502 Fix hold user test
authorDan Wells <dbw2@calvin.edu>
Thu, 22 Mar 2018 14:31:58 +0000 (10:31 -0400)
committerDan Wells <dbw2@calvin.edu>
Thu, 22 Mar 2018 18:14:18 +0000 (14:14 -0400)
Now that we are fleshing this field, we need to dig a little deeper
for the 'id' to test if we are the same user.

To test
-------
[1] Set up a patron with a hold request and with a item
    on the hold shelf that fills the hold.
[2] Check out the item to patron. Note that you
    will get a ITEM_ON_HOLDS_SHELF alert, even though the
    item is on hold for that patron. Cancel the alert.
[3] Apply the patch and repeat step 2. This time, the checkout
    will proceed.
[4] Set up another patron with a hold request and an item
    on the hold shelf, then checkout it at to a _different_ patron.
    Verify that the ITEM_ON_HOLDS_SHELF alert appears.

This patch also fixes test failures caught by the
19-lp1306666-abort-transit-copy-status.t live test.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm

index 3f3d946..c2d5518 100644 (file)
@@ -1126,7 +1126,7 @@ sub check_captured_holds {
         ]
     )->[0];
 
-    if ($hold and $hold->usr == $patron->id) {
+    if ($hold and $hold->usr->id == $patron->id) {
         $self->checkout_is_for_hold(1);
         return undef;
     } elsif ($hold) {