From: Ben Shum Date: Wed, 23 Nov 2011 20:14:32 +0000 (-0500) Subject: Fix for LP894125 - reshelving interval X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=1a17d98d054a592ef80acf52499b7bf2f52be197;p=evergreen%2Fpines.git Fix for LP894125 - reshelving interval Update to reshelving code to utilize actor.org_unit_ancestor_setting function and properly retrieve org settings for "circ.reshelving_complete.interval" for org unit or ancestors. Signed-off-by: Ben Shum Signed-off-by: Jason Stephenson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm index 8ad87c3d8a..a846fb97a1 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm @@ -142,7 +142,6 @@ sub complete_reshelving { throw OpenSRF::EX::InvalidArg ("I need an interval of more than 0 seconds!") unless (interval_to_seconds( $window )); - my $setting = actor::org_unit_setting->table; my $cp = asset::copy->table; my $sql = <<" SQL"; @@ -151,14 +150,12 @@ sub complete_reshelving { WHERE id IN ( SELECT cp.id FROM $cp cp - LEFT JOIN $setting setting - ON (cp.circ_lib = setting.org_unit AND setting.name = 'circ.reshelving_complete.interval') WHERE cp.status = 7 - AND cp.status_changed_time < NOW() - CAST( COALESCE( BTRIM( setting.value,'"' ), ? ) AS INTERVAL) + AND cp.status_changed_time < NOW() - CAST( COALESCE( BTRIM( (SELECT value FROM actor.org_unit_ancestor_setting('circ.reshelving_complete.interval', cp.circ_lib)),'"' ), ? ) AS INTERVAL) ) SQL my $sth = action::circulation->db_Main->prepare_cached($sql); - $sth->execute($window, $window, $window); + $sth->execute($window); return $sth->rows;