[freeside-commits] freeside/httemplate/search svc_acct.cgi, 1.57, 1.58

Ivan,,, ivan at wavetail.420.am
Fri Feb 12 14:42:11 PST 2010


Update of /home/cvs/cvsroot/freeside/httemplate/search
In directory wavetail.420.am:/tmp/cvs-serv24798/httemplate/search

Modified Files:
	svc_acct.cgi 
Log Message:
totals time used on svc_acct report

Index: svc_acct.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/search/svc_acct.cgi,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- svc_acct.cgi	4 Dec 2009 04:45:42 -0000	1.57
+++ svc_acct.cgi	12 Feb 2010 22:42:09 -0000	1.58
@@ -10,6 +10,7 @@
                  'align'       => $align,
                  'color'       => \@color,
                  'style'       => \@style,
+                 'footer'      => \@footer,
              )
 %>
 <%once>
@@ -73,6 +74,7 @@
 my $align = 'rlllr';
 my @color = ( '', '', '', '', '' );
 my @style = ( '', '', '', '', '' );
+my @footer = ();
 
 for (qw( domain domsvc agentnum custnum popnum svcpart cust_fields )) {
   $search_hash{$_} = $cgi->param($_) if length($cgi->param($_));
@@ -97,16 +99,26 @@
   }
 
   if ( $sortby eq 'seconds' ) {
+    my $tot_time = 0;
     #push @header, 'Time remaining';
     push @header, 'Time';
-    push @fields, sub { my $svc_acct = shift; format_time($svc_acct->seconds) };
+    push @fields, sub { my $svc_acct = shift;
+                        $tot_time += $svc_acct->seconds;
+                        format_time($svc_acct->seconds);
+                      };
     push @links, '';
     $align .= 'r';
     push @color, '';
     push @style, '';
 
+    @footer = ( '', 'Total', '', '', '',
+                sub { format_time($tot_time) }, #time
+              );
+
     my $conf = new FS::Conf;
     if ( $conf->exists('svc_acct-display_paid_time_remaining') ) {
+      my $tot_paid_time = 0;
+      my %tot = ( '30'=>0, '60'=>0, '90'=>0 );
       push @header, 'Paid time', 'Last 30', 'Last 60', 'Last 90';
       push @fields,
         sub {
@@ -130,6 +142,7 @@
           my $time_unpaid = $periods_unpaid * $timepermonth;
           $time_unpaid *= $part_pkg->freq
             if $part_pkg->freq =~ /^\d+$/ && $part_pkg->freq != 0;
+          $tot_paid_time += $seconds-$time_unpaid;
           format_time($seconds-$time_unpaid).
             sprintf(' (%.2fx monthly)', ( $seconds-$time_unpaid ) / $timepermonth );
         },
@@ -141,6 +154,12 @@
       $align .= 'rrrr';
       push @color, '', '', '', '';
       push @style, '', '', '', '';
+      push @footer, 
+        sub { format_time($tot_paid_time) }, #paid time
+        '', #XXX sub { $tot{'30'} }, #30
+        '', #XXX sub { $tot{'60'} }, #60
+        '', #XXX sub { $tot{'90'} }, #90
+      ;
     }
 
   }



More information about the freeside-commits mailing list