[freeside-commits] freeside/FS/FS/ClientAPI MyAccount.pm, 1.155, 1.156

Ivan,,, ivan at wavetail.420.am
Thu Oct 27 18:32:20 PDT 2011


Update of /home/cvs/cvsroot/freeside/FS/FS/ClientAPI
In directory wavetail.420.am:/tmp/cvs-serv16914/FS/FS/ClientAPI

Modified Files:
	MyAccount.pm 
Log Message:
legacy invoices via self-service, RT#13656

Index: MyAccount.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/ClientAPI/MyAccount.pm,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -w -d -r1.155 -r1.156
--- MyAccount.pm	8 Oct 2011 21:55:19 -0000	1.155
+++ MyAccount.pm	28 Oct 2011 01:32:17 -0000	1.156
@@ -30,6 +30,7 @@
 use FS::part_svc;
 use FS::cust_main;
 use FS::cust_bill;
+use FS::legacy_cust_bill;
 use FS::cust_main_county;
 use FS::cust_pkg;
 use FS::payby;
@@ -1143,6 +1144,52 @@
 
 }
 
+sub legacy_invoice {
+  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 $legacyinvnum = $p->{'legacyinvnum'};
+
+  my $legacy_cust_bill = qsearchs('legacy_cust_bill', {
+    'legacyinvnum' => $legacyinvnum,
+    'custnum'      => $custnum,
+  }) or return { 'error' => "Can't find legacyinvnum" };
+
+  #my %return;
+
+  return { 'error'        => '',
+           'legacyinvnum' => $legacyinvnum,
+           'invoice_html' => $legacy_cust_bill->content_html,
+         };
+
+}
+
+sub legacy_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 $legacyinvnum = $p->{'legacyinvnum'};
+
+  my $legacy_cust_bill = qsearchs('legacy_cust_bill', {
+    'legacyinvnum' => $legacyinvnum,
+    'custnum'      => $custnum,
+  }) or return { 'error' => "Can't find legacyinvnum" };
+
+  #my %return;
+
+  return { 'error'        => '',
+           'legacyinvnum' => $legacyinvnum,
+           'invoice_pdf'  => $legacy_cust_bill->content_pdf,
+         };
+
+}
+
 sub invoice_logo {
   my $p = shift;
 
@@ -1187,6 +1234,7 @@
     or return { 'error' => "unknown custnum $custnum" };
 
   my @cust_bill = $cust_main->cust_bill;
+  my @legacy_cust_bill = $cust_main->legacy_cust_bill;
 
   my $balance = 0;
 
@@ -1207,7 +1255,21 @@
                      }
                   }
                   @cust_bill
-            ]
+            ],
+            'legacy_invoices' => [
+              map {
+                    +{ 'legacyinvnum' => $_->legacyinvnum,
+                       'legacyid'     => $_->legacyid,
+                       '_date'        => $_->_date,
+                       'date'         => time2str("%b %o, %Y", $_->_date),
+                       'date_short'   => time2str("%m-%d-%Y",  $_->_date),
+                       'charged'      => sprintf('%.2f', $_->charged),
+                       'has_content'  => (    length($_->content_pdf)
+                                           || length($_->content_html) ),
+                     }
+                  }
+                  @legacy_cust_bill
+            ],
           };
 }
 



More information about the freeside-commits mailing list