MT#5879 Making invoice creation work w/ real data

Costs etc are still wrong, but we'r getting somewhere.
mr3.3.1
Andreas Granig 11 years ago
parent b827f73ab4
commit 12fec06a68

@ -196,6 +196,8 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac
$form->params->{serial} = "test".time.int(rand(99999));
# TODO: vat should be moved to contracts
# TODO: the base fee needs to be added too!
$form->params->{amount_net} = $balance->cash_balance_interval;
$form->params->{amount_vat} =
$form->params->{amount_net} * ($billing_profile->vat_rate/100); # TODO: is it really in percent?
@ -208,6 +210,25 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac
my $pdf = '';
my $vars = {};
$vars->{rescontact} = { $customer->contact->reseller->contract->contact->get_inflated_columns };
$vars->{customer} = { $customer->get_inflated_columns };
$vars->{custcontact} = { $customer->contact->get_inflated_columns };
$vars->{billprof} = { $billing_profile->get_inflated_columns };
$vars->{invoice} = {
period_start => $stime->epoch, # TODO: really?
period_end => $etime->epoch,
serial => $form->params->{serial},
amount_net => $form->params->{amount_net},
amount_vat => $form->params->{amount_vat},
amount_total => $form->params->{amount_total},
};
$vars->{calls} = []; # TODO: outbound cdrs call list
$vars->{zones} = {
totalcost => $form->params->{amount_net},
data => [ values(%{ $zonecalls }) ],
};
try {
NGCP::Panel::Utils::InvoiceTemplate::preprocess_svg(\$svg);
$t->process(\$svg, $vars, \$out) || do {

@ -389,8 +389,8 @@ sub get_contract_zonesfees {
$allzones{$zname}{duration} += $cols{duration} || 0;
$allzones{$zname}{free_time} += $cols{free_time} || 0;
$allzones{$zname}{number} += $cols{number} || 0;
delete $allzones{$zname}{zone};
$allzones{$zname}{zone} = $zone->get_column('zone')//'';
$allzones{$zname}{zone_detail} = $zone->get_column('zone_detail')//'';
}
return \%allzones;

Loading…
Cancel
Save