break _bytecount subroutines out of FS::UI::Web
[freeside.git] / httemplate / search / prepay_credit.html
index 8c8f57b..43fc6a9 100644 (file)
@@ -1,15 +1,4 @@
-<%
-my $agent = '';
-my $hashref = {};
-if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
-  $hashref->{agentnum} = $1;
-  $agent = qsearchs('agent', { 'agentnum' => $1 } );
-}
-
-my $count_query = 'SELECT COUNT(*) FROM prepay_credit';
-$count_query .= ' WHERE agentnum = '. $agent->agentnum if $agent;
-
-%><%= include( 'elements/search.html',
+<% include( 'elements/search.html',
                  'title'       => 'Unused Prepaid Cards'.
                                   ($agent ? ' for '. $agent->agent : ''),
                  'menubar'     => [
@@ -22,11 +11,28 @@ $count_query .= ' WHERE agentnum = '. $agent->agentnum if $agent;
                                   },
                  'count_query' => $count_query,
                  #'redirect'    => $link,
-                 'header'      => [ '#', qw(Amount Time Agent) ],
+                 'header'      => [ '#', qw(Amount Time Upload Download Total Agent) ],
                  'fields'      => [
                    'identifier',
                    sub { sprintf('$%.2f', shift->amount ) },
-                   sub { my $c = shift; $c ? duration_exact($c->seconds) : '' },
+                   sub { my $c = shift;
+                         $c->seconds ? duration_exact($c->seconds) : ''
+                       },
+                   sub { my $c = shift;
+                         $c->upbytes 
+                           ? FS::UI::bytecount::bytecount_unexact($c->upbytes)
+                           : ''
+                       },
+                   sub { my $c = shift;
+                         $c->downbytes
+                           ? FS::UI::bytecount::bytecount_unexact($c->downbytes)
+                           : ''
+                       },
+                   sub { my $c = shift;
+                         $c->totalbytes
+                           ? FS::UI::bytecount::bytecount_unexact($c->totalbytes)
+                           : ''
+                       },
                    sub { my $agent = shift->agent;
                          $agent ? $agent->agent : '';
                        },
@@ -35,9 +41,28 @@ $count_query .= ' WHERE agentnum = '. $agent->agentnum if $agent;
                    '',
                    '',
                    '',
+                   '',
+                   '',
+                   '',
                    sub { my $agent = shift->agent;
                          $agent ? [ "${p}view/agent.cgi?", 'agentnum' ] : '';
                        },
                  ],
       )
 %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $agent = '';
+my $hashref = {};
+if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
+$hashref->{agentnum} = $1;
+$agent = qsearchs('agent', { 'agentnum' => $1 } );
+}
+
+my $count_query = 'SELECT COUNT(*) FROM prepay_credit';
+$count_query .= ' WHERE agentnum = '. $agent->agentnum if $agent;
+
+</%init>