X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FClientAPI%2FMyAccount.pm;h=fa667c0c08ed0e9e10d2cca6329d5ad4447ded21;hp=a1fd4b36eee3353e5adbb389e8f58b09b32c3eac;hb=a6df3bedc91aba52e5010241f1b94a780d478b5c;hpb=d0a2c13f9f92542d5b452dbe8a4dc0c2f621a667 diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index a1fd4b36e..fa667c0c0 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -936,6 +936,28 @@ sub invoice { } +sub invoice_pdf { + my $p = shift; + my $session = _cache->get($p->{'session_id'}) + or return { 'error' => "Can't resume session" }; #better error message + + my $custnum = $session->{'custnum'}; + + my $invnum = $p->{'invnum'}; + + my $cust_bill = qsearchs('cust_bill', { 'invnum' => $invnum, + 'custnum' => $custnum } ) + or return { 'error' => "Can't find invnum" }; + + #my %return; + + return { 'error' => '', + 'invnum' => $invnum, + 'invoice_pdf' => $cust_bill->print_pdf( { unsquelch_cdr => 1 } ), + }; + +} + sub invoice_logo { my $p = shift; @@ -981,13 +1003,25 @@ sub list_invoices { my @cust_bill = $cust_main->cust_bill; + my $balance = 0; + return { 'error' => '', - 'invoices' => [ map { { 'invnum' => $_->invnum, - '_date' => $_->_date, - 'date' => time2str("%b %o, %Y", $_->_date), - } - } @cust_bill - ] + 'invoices' => [ + map { + my $owed = $_->owed; + $balance += $owed; + +{ 'invnum' => $_->invnum, + '_date' => $_->_date, + 'date' => time2str("%b %o, %Y", $_->_date), + 'date_short' => time2str("%m-%d-%Y", $_->_date), + 'previous' => sprintf('%.2f', ($_->previous)[0]), + 'charged' => sprintf('%.2f', $_->charged), + 'owed' => sprintf('%.2f', $owed), + 'balance' => sprintf('%.2f', $balance), + } + } + @cust_bill + ] }; }