From 983e8f9cf1bbc69fd8a134b987cdc87e4fc8e406 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Thu, 8 Oct 2015 09:39:34 -0400 Subject: [PATCH] LP 1503867: Use ws_ou in open-ils.circ.copy_transit.receive. After putting NCIPServer into production, we discovered that a staff user cannot receive a transit destined for their work org. unit if the actor.usr.home_ou is not the same as their current work_ou. This occurred because transit_receive in OpenILS::Application:: Circ::Transit uses the requestor's home_ou and not the ws_ou. If you want to trigger this bug, write a little script to receive transits, then login with a staff account at a location other than their home_ou and try to receive a transit destined for the work_ou. It will fail. This small commit replaces home_ou in two places with ws_ou in order to make the above work. NOTE: This bug affects an API call not used in Evergreen except in one test script. It used in two ILL add-ons for Evergreen: issa and NCIPServer. Receiving transits by checking copies in via the staff client, the typical workflow, is not affected by this bug or its fix. Signed-off-by: Jason Stephenson Signed-off-by: Mike Rylander --- Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm index bd687c421d..22074384d3 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Transit.pm @@ -69,10 +69,10 @@ sub transit_receive { ($transit, $evt) = $U->fetch_open_transit_by_copy($copyid); return $evt if $evt; - if( $transit->dest != $requestor->home_ou ) { + if( $transit->dest != $requestor->ws_ou ) { $logger->activity("Fowarding transit on copy which is destined ". "for a different location. copy=$copyid,current ". - "location=".$requestor->home_ou.",destination location=".$transit->dest); + "location=".$requestor->ws_ou.",destination location=".$transit->dest); return OpenILS::Event->new('ROUTE_ITEM', org => $transit->dest ); } -- 2.43.2