[freeside-commits] branch master updated. 67d6d7a6c446837af1855eef8495c286a58a9ac1

Ivan ivan at 420.am
Thu May 16 13:31:09 PDT 2013


The branch, master has been updated
       via  67d6d7a6c446837af1855eef8495c286a58a9ac1 (commit)
      from  cf5ea7941e280b3f30761213b393ead465124c52 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 67d6d7a6c446837af1855eef8495c286a58a9ac1
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Thu May 16 13:31:08 2013 -0700

    statement link display by default, better label, statements say "statement" and have no dates/numbers, RT#23148

diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 0784cd0..3dffa45 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -5236,13 +5236,6 @@ and customer address. Include units.',
     'select_enum' => [ 'Classic', 'Recurring' ],
   },
 
-  {
-    'key'         => 'cust_main-print_statement_link',
-    'section'     => 'UI',
-    'description' => 'Show a link to download a current statement for the customer.',
-    'type'        => 'checkbox',
-  },
-
   { 
     'key'         => 'username-pound',
     'section'     => 'username',
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index b3d3cf2..be9d68a 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -106,7 +106,7 @@ sub print_latex {
   $params{'time'} = $today if $today;
   $params{'template'} = $template if $template;
   $params{$_} = $opt{$_} 
-    foreach grep $opt{$_}, qw( unsquelch_cdr notice_name );
+    foreach grep $opt{$_}, qw( unsquelch_cdr notice_name no_date no_number );
 
   $template ||= $self->_agent_template
     if $self->can('_agent_template');
@@ -445,9 +445,14 @@ sub print_generic {
     'agent'           => &$escape_function($cust_main->agent->agent),
 
     #invoice/quotation info
-    'invnum'          => $self->invnum,
+    'no_number'       => $params{'no_number'},
+    'invnum'          => ( $params{'no_number'} ? '' : $self->invnum ),
     'quotationnum'    => $self->quotationnum,
-    'date'            => time2str($date_format, $self->_date),
+    'no_date'         => $params{'no_date'},
+    'date'            => ( $params{'no_date'}
+                             ? ''
+                             : time2str($date_format, $self->_date)
+                         ),
     'today'           => time2str($date_format_long, $today),
     'terms'           => $self->terms,
     'template'        => $template, #params{'template'},
diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html
index 915be49..c7bf374 100644
--- a/httemplate/view/cust_main/payment_history.html
+++ b/httemplate/view/cust_main/payment_history.html
@@ -141,10 +141,9 @@
 
 %# invoice reports, combined statement
 % if ( $curuser->access_right('List invoices') ) { 
-%   if ( $conf->exists('cust_main-print_statement_link')
-%        and $num_cust_bill > 0 ) {
+%   if ( $num_cust_bill > 0 ) {
   <A HREF="<% $p %>view/cust_main_statement-pdf.cgi?<% $custnum %>"><%
-  mt('Print a current statement') |h %></A>
+  mt('Download typeset statement PDF') |h %></A>
   <BR>
 %   }
   <A HREF="<% $p %>search/report_cust_bill.html?custnum=<% $custnum %>"><% mt('Invoice reports') |h %></A>
diff --git a/httemplate/view/cust_main_statement-pdf.cgi b/httemplate/view/cust_main_statement-pdf.cgi
index 7c2c207..79110ee 100755
--- a/httemplate/view/cust_main_statement-pdf.cgi
+++ b/httemplate/view/cust_main_statement-pdf.cgi
@@ -1,29 +1,34 @@
+<% $pdf %>\
 <%doc>
 Like view/cust_statement-pdf.cgi, but for viewing/printing the implicit 
 statement containing all of a customer's invoices.  Slightly redundant.
 I don't see the need to create an equivalent to view/cust_statement.html 
 for this case, but one can be added if necessary.
 </%doc>
-<% $pdf %>
 <%init>
 
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('View invoices');
 
-#untaint statement
 my($query) = $cgi->keywords;
-$query =~ /^((.+)-)?(\d+)$/;
-my $templatename = $2 || 'statement'; #XXX configure... via event??  eh..
-my $custnum = $3;
+$query =~ /^(\d+)$/;
+my $custnum = $1;
 
+#mostly for the agent-virt, i guess.  could probably bolt it onto the cust_bill
+# search
 my $cust_main = qsearchs({
   'select'    => 'cust_main.*',
   'table'     => 'cust_main',
   'hashref'   => { 'custnum' => $custnum },
   'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
-});
-die "Customer #$custnum not found!" unless $cust_main;
-my $cust_bill = ($cust_main->cust_bill)[-1]
+})
+  or die "Customer #$custnum not found!";
+
+my $cust_bill = qsearchs({
+  'table'    => 'cust_bill',
+  'hashref'  => { 'custnum' => $custnum },
+  'order_by' => 'ORDER BY _date desc LIMIT 1',
+})
   or die "Customer #$custnum has no invoices!";
 
 my $cust_statement = FS::cust_statement->new({
@@ -33,11 +38,14 @@ my $cust_statement = FS::cust_statement->new({
   '_date'         => time,
 });
 
+my $pdf = $cust_statement->print_pdf({
+  'notice_name' => 'Statement',
+  'no_date'     => 1,
+  'no_number'   => 1,
+});
 
-my $pdf = $cust_statement->print_pdf( '', $templatename );
-
-http_header('Content-Type' => 'application/pdf' );
+http_header('Content-Type'   => 'application/pdf' );
 http_header('Content-Length' => length($pdf) );
-http_header('Cache-control' => 'max-age=60' );
+http_header('Cache-control'  => 'max-age=60' );
 
 </%init>

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Conf.pm                                  |    7 -----
 FS/FS/Template_Mixin.pm                        |   11 ++++++--
 httemplate/view/cust_main/payment_history.html |    5 +--
 httemplate/view/cust_main_statement-pdf.cgi    |   32 +++++++++++++++---------
 4 files changed, 30 insertions(+), 25 deletions(-)




More information about the freeside-commits mailing list