| version 1.7, 2011/03/21 23:29:22 |
version 1.8, 2011/03/22 00:22:27 |
|
|
| } |
} |
| my $invoice = $cust->{invoice}; |
my $invoice = $cust->{invoice}; |
| |
|
| #foreach my $r ($ticket->requestors) { |
|
| # $users->id( $r ); |
|
| # $users->retrieve; |
|
| # print Dump $users; |
|
| #} |
|
| |
|
| my $project = make_project( $ticket, $cust ); |
my $project = make_project( $ticket, $cust ); |
| next unless @{ $project->{fees} } || @{ $project->{expenses} }; |
next unless @{ $project->{fees} } || @{ $project->{expenses} }; |
| |
|
|
|
| return $cust; |
return $cust; |
| } |
} |
| |
|
| return fake_customer($ticket); |
return fake_customer( $customers, $ticket ); |
| } |
} |
| |
|
| sub fake_customer { |
sub fake_customer { |
| my ($ticket) = @_; |
my ( $customers, $ticket ) = @_; |
| |
|
| # XXX eventually, will generate a customer we can bill! |
# make the custid the first requestor |
| return; |
my ($custid) = $ticket->requestors; |
| |
return unless $custid; |
| |
|
| |
my $cust = $config->get('default') || {}; |
| |
$cust->{to} = get_requestor($custid); |
| |
|
| |
my %invoice = ( end => DateTime->now ); |
| |
|
| |
my $lastinvoice = $state->last_invoice($custid); |
| |
if ( $lastinvoice->{date} ) { |
| |
my $last_invoice_date = ymd_to_DateTime( $lastinvoice->{date} ); |
| |
$invoice{start} = $last_invoice_date->clone->add( days => 1 ); |
| |
} |
| |
|
| |
if ( !( $invoice{start} && $invoice{start} < $invoice{end} ) ) { |
| |
$cust->{invoice} = \%invoice; |
| |
} |
| |
|
| |
$customers->{$custid} = $cust; |
| |
return $cust; |
| |
} |
| |
|
| |
sub get_requestor { |
| |
my ($id) = @_; |
| |
|
| |
state %requestors; |
| |
return $requestors{$id} if $requestors{$id}; |
| |
|
| |
my %map = ( |
| |
address_one => 'addr1', |
| |
address_two => 'addr2', |
| |
email_address => 'email', |
| |
); |
| |
|
| |
$users->id($id); |
| |
$users->retrieve; |
| |
|
| |
my %requestor; |
| |
foreach my $m ( keys %{ $users->_attributes } ) { |
| |
next unless $users->can($m); |
| |
|
| |
my $v = $users->$m; |
| |
next unless $v; |
| |
|
| |
$m = $map{$m} if exists $map{$m}; |
| |
|
| |
$requestor{$m} = $v; |
| |
} |
| |
|
| |
$requestors{$id} = \%requestor; |
| |
return \%requestor; |
| } |
} |
| |
|
| sub make_project { |
sub make_project { |