my($self, $conn, $auth, $funding_source) = @_;
my $e = new_editor(xact=>1, authtoken=>$auth);
return $e->die_event unless $e->checkauth;
- return $e->die_event unless $e->allowed('ADMIN_FUNDING_SOURCE', $funding_source->owner);
+ return $e->die_event unless $e->allowed('ADMIN_FUNDING_SOURCE', $funding_source->owner, $funding_source);
$e->create_acq_funding_source($funding_source) or return $e->die_event;
$e->commit;
return $funding_source->id;
my $e = new_editor(xact=>1, authtoken=>$auth);
return $e->die_event unless $e->checkauth;
my $funding_source = $e->retrieve_acq_funding_source($funding_source_id) or return $e->die_event;
- return $e->die_event unless $e->allowed('ADMIN_FUNDING_SOURCE', $funding_source->owner);
+ return $e->die_event unless $e->allowed('ADMIN_FUNDING_SOURCE', $funding_source->owner, $funding_source);
$e->delete_acq_funding_source($funding_source) or return $e->die_event;
$e->commit;
return 1;
return $e->event unless $e->checkauth;
my $funding_source = $e->retrieve_acq_funding_source($funding_source_id) or return $e->event;
return $e->event unless $e->allowed(
- ['ADMIN_FUNDING_SOURCE','MANAGE_FUNDING_SOURCE'], $funding_source->owner);
+ ['ADMIN_FUNDING_SOURCE','MANAGE_FUNDING_SOURCE'], $funding_source->owner, $funding_source);
return $funding_source;
}
my($self, $conn, $auth, $fund) = @_;
my $e = new_editor(xact=>1, authtoken=>$auth);
return $e->die_event unless $e->checkauth;
- return $e->die_event unless $e->allowed('ADMIN_FUND', $fund->org);
+ return $e->die_event unless $e->allowed('ADMIN_FUND', $fund->org, $fund);
$e->create_acq_fund($fund) or return $e->die_event;
$e->commit;
return $fund->id;
my $e = new_editor(xact=>1, authtoken=>$auth);
return $e->die_event unless $e->checkauth;
my $fund = $e->retrieve_acq_fund($fund_id) or return $e->die_event;
- return $e->die_event unless $e->allowed('ADMIN_FUND', $fund->org);
+ return $e->die_event unless $e->allowed('ADMIN_FUND', $fund->org, $fund);
$e->delete_acq_fund($fund) or return $e->die_event;
$e->commit;
return 1;
return $e->event unless $e->checkauth;
my $fund = $e->retrieve_acq_fund($fund_id) or return $e->event;
return $e->event unless
- $e->allowed(['ADMIN_FUND','MANAGE_FUND'], $fund->org);
+ $e->allowed(['ADMIN_FUND','MANAGE_FUND'], $fund->org, $fund);
$fund->summary(retrieve_fund_summary_impl($e, $fund))
if $$options{flesh_summary};
return $fund;
my $e = new_editor(authtoken=>$auth);
return $e->event unless $e->checkauth;
my $fund = $e->retrieve_acq_fund($fund_id) or return $e->event;
- return $e->event unless $e->allowed('MANAGE_FUND', $fund->org);
+ return $e->event unless $e->allowed('MANAGE_FUND', $fund->org, $fund);
return retrieve_fund_summary_impl($e, $fund);
}
my $source = $e->retrieve_acq_funding_source($fund_alloc->funding_source)
or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner);
+ return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner, $source);
my $fund = $e->retrieve_acq_fund($fund_alloc->fund) or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org);
+ return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org, $fund);
$fund_alloc->allocator($e->requestor->id);
$e->create_acq_fund_allocation($fund_alloc) or return $e->die_event;
my $source = $e->retrieve_acq_funding_source($fund_alloc->funding_source)
or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner);
+ return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner, $source);
my $fund = $e->retrieve_acq_fund($fund_alloc->fund) or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org);
+ return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org, $fund);
$e->delete_acq_fund_allocation($fund_alloc) or return $e->die_event;
$e->commit;
my $source = $e->retrieve_acq_funding_source($fund_alloc->funding_source)
or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner);
+ return $e->die_event unless $e->allowed('MANAGE_FUNDING_SOURCE', $source->owner, $source);
my $fund = $e->retrieve_acq_fund($fund_alloc->fund) or return $e->die_event;
- return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org);
+ return $e->die_event unless $e->allowed('MANAGE_FUND', $fund->org, $fund);
return $fund_alloc;
}