MT#5879 Fix invoice date insertion in DB

mr3.3.1
Irina Peshinskaya 12 years ago
parent 91608dc073
commit 9965197657

@ -7,6 +7,7 @@ use NGCP::Panel::Utils::Message;
use NGCP::Panel::Utils::DateTime;
use NGCP::Panel::Utils::Contract;
use NGCP::Panel::Utils::InvoiceTemplate;
use NGCP::Panel::Utils::Invoice;
use NGCP::Panel::Form::Invoice::Invoice;
sub auto :Private {
@ -208,6 +209,9 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac
# generate tmp serial here, derive one from after insert
$form->params->{serial} = "tmp".time.int(rand(99999));
$form->params->{data} = undef;
#maybe inflation should be applied?
$form->params->{period_start} = $stime->ymd.' '. $stime->hms;
$form->params->{period_end} = $etime->ymd.' '. $etime->hms;
my $invoice;
try {
$invoice = $schema->resultset('invoices')->create($form->params);
@ -287,7 +291,6 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac
};
try {
NGCP::Panel::Utils::InvoiceTemplate::preprocess_svg(\$svg);
$t->process(\$svg, $vars, \$out) || do {
my $error = $t->error();
@ -300,6 +303,7 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac
NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoice'));
return;
};
NGCP::Panel::Utils::InvoiceTemplate::preprocess_svg(\$out);
NGCP::Panel::Utils::InvoiceTemplate::svg_pdf($c, \$out, \$pdf);
} catch($e) {

@ -215,7 +215,7 @@ sub generate_invoice_data{
}
my $svg = $dbh->selectrow_array('select data from invoice_templates where type = "svg" and reseller_id=?',undef,$provider_contract->{reseller_core_id});#is_active = 1 and
if($svg){
NGCP::Panel::Utils::InvoiceTemplate::preprocess_svg(\$svg);
#NGCP::Panel::Utils::InvoiceTemplate::preprocess_svg(\$svg);
}else{
$svg = $svg_default;
print "No saved active template - no invoice;\n";
@ -298,7 +298,7 @@ sub get_invoice{
}
if(!$invoice){
my $serial_tmp = "tmp".time.int(rand(99999));
$dbh->do('insert into invoices(contract_id,period_start,period_end,serial)values(?,?,?,?)', undef, $contract_id,$stime->ymd, $stime->ymd, $serial_tmp );
$dbh->do('insert into invoices(contract_id,period_start,period_end,serial)values(?,?,?,?)', undef, $contract_id,$stime->ymd.' '.$stime->hms, $etime->ymd.' '.$etime->hms, $serial_tmp );
$invoice->{id} = $dbh->last_insert_id(undef,'billing','invoices','id');
@$invoice{qw/period_start period_end/} = ($stime,$etime);
$invoice->{serial} = NGCP::Panel::Utils::Invoice::get_invoice_serial(undef,{invoice => $invoice});

Loading…
Cancel
Save