MT#5879 View invoices

ipeshinskaya/InvoiceTemplate5
Irina Peshinskaya 12 years ago committed by Victor Seva
parent fab290e99a
commit c39d6a92a8

@ -168,6 +168,15 @@ sub invoice_list :Chained('invoice_details_calls') :PathPart('list') :Args(0) {
#$c->detach( $c->view() );
}
sub invoice_data :Chained('invoice') :PathPart('data') :Args(1) {
my ($self, $c) = @_;
my ($invoice_id) = pop;
my $backend = NGCP::Panel::Model::DB::InvoiceTemplate->new( schema => $c->model('DB') );
my $invoice = $backend->getInvoice(invoice_id => $invoice_id);
$c->response->content_type('application/pdf');
$c->response->body( $invoice->first->get_column('data') );
}
sub template_base :Chained('base') :PathPart('template') :CaptureArgs(0) {
my ($self, $c) = @_;
my($validator,$backend,$in,$out);

@ -233,16 +233,25 @@ sub getProviderInvoiceList{
my ($provider_reseller_id,$stime,$etime) = @params{qw/provider_id stime etime/};
$stime ||= NGCP::Panel::Utils::DateTime::current_local()->truncate( to => 'month' );
$etime ||= $stime->clone->add( months => 1);
$self->schema->resultset('contacts')->search_rs({
$self->schema->resultset('invoices')->search({
'-and' =>
[
'reseller_id' => $provider_reseller_id, #$client_contract_id - contract of the client
'contact.reseller_id' => $provider_reseller_id, #$client_contract_id - contract of the client
],
},{
'+select' => ['contract_balances.invoice_id','contract_balances.start','contract_balances.end'],
'join' => [{ 'contracts' => {'contract_balances' => 'invoice' }}]
'+select' => ['contract_balances.invoice_id','contract_balances.start','contract_balances.end','contract_balances.cash_balance','contract_balances.free_time_balance'],
'+as' => ['invoice_id','contract_balance_start','contract_balance_end','cash_balance','free_time_balance'],
'prefetch' => [ {'contract_balances' => { 'contract' => 'contact' }} ],
});
}
sub getInvoice{
my $self = shift;
my (%params) = @_;
my ($invoice_id) = @params{qw/invoice_id/};
return $self->schema->resultset('invoices')->search({
'id' => $invoice_id,
},undef );
}
sub getInvoiceProviderClients{
my $self = shift;
my (%params) = @_;

@ -0,0 +1,39 @@
[%USE Date%]
[%manip=date.manip%]
<table class="table table-bordered table-striped table-highlight table-hover">
<thead>
<tr>
<th>[% c.loc('Serial') %]</th>
<th>[% c.loc('Start') %]</th>
<th>[% c.loc('End') %]</th>
<th>[% c.loc('Cache Balance') %]</th>
<th>[% c.loc('Free time balance') %]</th>
<th class="ngcp-actions-column"></th>
</tr>
</thead>
<tbody>
[%# Dumper.dump_html(invoice_details_zones.as_query)%]
[%FOREACH invoice IN invoice_list -%]
<tr class="sw_action_row">
<td><div class="pull-right">[% invoice.get_column('serial')|format('%06d') %]</div></td>
<td><div class="pull-right">[% invoice.get_column('contract_balance_start') %]</div></td>
<td><div class="pull-right">[% invoice.get_column('contract_balance_end') %]</div></td>
<td><div class="pull-right">[% invoice.get_column('cash_balance') %]</div></td>
<td><div class="pull-right">[% invoice.get_column('free_time_balance') %]</div></td>
<td><a class="btn btn-small btn-primary" href="javascript:window.open('[%c.uri_for_action("/invoice/invoice_data",[invoice.get_column('invoice_id')])%]','_blank');void(0);">
<i class="icon-edit"></i> [% c.loc('View invoice') %]
</a>
</td>
</tr>
[%END%]
</tbody>
</table>

@ -37,7 +37,7 @@
<div class="accordion-body collapse" id="collapse_invoice_list">
<div class="accordion-inner" style="overflow:auto; height: 300px;">
[%PROCESS 'invoice/invoice_list.tt' %]
</div>
</div>
</div>

@ -58,7 +58,7 @@ my $email_transport = Email::Sender::Transport::SMTP->new({
#host => 'mail.sipwise.com',
#port => 587,
#sasl_password => 'KfC4pXuV',
#sasl_password => '',
#ssl => 0,
host => 'smtp.googlemail.com',

Loading…
Cancel
Save