From 12fec06a68b23abfb2462b7c299c407d2589e5b1 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Fri, 6 Jun 2014 16:32:10 +0200 Subject: [PATCH] MT#5879 Making invoice creation work w/ real data Costs etc are still wrong, but we'r getting somewhere. --- lib/NGCP/Panel/Controller/Invoice.pm | 21 +++++++++++++++++++++ lib/NGCP/Panel/Utils/Contract.pm | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/lib/NGCP/Panel/Controller/Invoice.pm b/lib/NGCP/Panel/Controller/Invoice.pm index 40f150ed35..427ae4725d 100644 --- a/lib/NGCP/Panel/Controller/Invoice.pm +++ b/lib/NGCP/Panel/Controller/Invoice.pm @@ -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 { diff --git a/lib/NGCP/Panel/Utils/Contract.pm b/lib/NGCP/Panel/Utils/Contract.pm index b04cff6b99..f5fa43664d 100644 --- a/lib/NGCP/Panel/Utils/Contract.pm +++ b/lib/NGCP/Panel/Utils/Contract.pm @@ -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;