From 77bc207147eb34e97b1e7423a98aee6fd17c1d9d Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 9 Jan 2008 14:39:47 +0000 Subject: [PATCH] added child fund fetching logic git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8360 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../perlmods/OpenILS/Application/Acq/Financials.pm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm index b760cec8c2..68f5f868ca 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Acq/Financials.pm @@ -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; } -- 2.11.0