added child fund fetching logic
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 9 Jan 2008 14:39:47 +0000 (14:39 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 9 Jan 2008 14:39:47 +0000 (14:39 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8360 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm

index b760cec..68f5f86 100644 (file)
@@ -68,9 +68,24 @@ sub retrieve_org_fund {
     my $e = new_editor(authtoken=>$auth);
     return $e->event unless $e->checkauth;
     return $e->event unless $e->allowed('VIEW_FUND', $org_id);
-    my $fund = $e->retrieve_acq_fund($fund_id) or return $e->event;
-    # XXX add descendant logic
-    return $fund;
+
+    my $search = {owner => $org_id};
+
+    if($$options{children}) {
+        $org_list = $e->search_actor_org_unit([
+            {id => $org_id}, {
+                flesh => -1,
+                flesh_fields => {aou => ['children']}
+            }
+        ]);
+
+        my $org_ids = [];
+        push(@$org_ids, $_->id) for @$org_list;
+        $search = {owner => $org_ids};
+    }
+
+    my $funds = $e->search_acq_fund($search) or return $e->event;
+    return $funds; 
 }