From c1202c1492a210ea51610a164d938faef4a4d28c Mon Sep 17 00:00:00 2001
From: Ben Shum <bshum@biblio.org>
Date: Wed, 23 Nov 2011 15:14:32 -0500
Subject: [PATCH] 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 <bshum@biblio.org>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
---
 .../perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm   | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

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 2069f58ca9..d58e213627 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
@@ -161,7 +161,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";
@@ -170,14 +169,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;
 
-- 
2.11.0