send commission reports by email, #33101
[freeside.git] / httemplate / search / sqlradius.cgi
index c8f7932..5d6aeea 100644 (file)
@@ -4,11 +4,8 @@
 % # and finally, display the thing
 % ### 
 %
-% foreach my $part_export (
-%   #grep $_->can('usage_sessions'), qsearch( 'part_export' )
-%   qsearch( 'part_export', { 'exporttype' => 'sqlradius' } ),
-%   qsearch( 'part_export', { 'exporttype' => 'sqlradius_withdomain' } )
-% ) {
+% foreach my $part_export ( @part_export ) {
+%
 %   %user2svc = ();
 %
 %   my $efields = tie my %efields, 'Tie::IxHash', %fields;
 %   if ( $part_export->option('hide_data') ) {
 %     delete $efields{$_} foreach qw(acctinputoctets acctoutputoctets);
 %   }
-%   if ( $part_export->option('show_called_station') ) {
-%     $efields->Splice(1, 0,
-%       'calledstationid' => {
-%                              'name'   => 'Destination',
-%                              'attrib' => 'Called-Station-ID',
-%                              'fmt'    =>
-%                                sub { length($_[0]) ? shift : '&nbsp'; },
-%                              'align'  => 'left',
-%                            },
-%     );
-%   }
-%
-%
 
-    <% $part_export->exporttype %> to <% $part_export->machine %><BR>
+    <FONT CLASS="fsinnerbox-title">
+      <% $part_export->exportname || $part_export->exporttype |h %>
+      <% $part_export->machine ? ' to '. $part_export->machine : '' |h %>
+    </FONT><BR>
+
     <% include( '/elements/table-grid.html' ) %>
 %   my $bgcolor1 = '#eeeeee';
 %   my $bgcolor2 = '#ffffff';
@@ -150,6 +138,23 @@ if ( $cgi->param('svcnum') =~ /^(\d+)$/ ) {
   $cgi_svc = qsearchs( 'svc_acct', { 'username' => $1 } );
 }
 
+my @part_export = ();
+if ( $cgi_svc ) {
+  my $part_svc = $cgi_svc->cust_svc->part_svc;
+  @part_export = (
+    $part_svc->part_export('sqlradius'),
+    $part_svc->part_export('sqlradius_withdomain'),
+    $part_svc->part_export('broadband_sqlradius'),
+  );
+} else {
+  @part_export = (
+    #grep $_->can('usage_sessions'), qsearch( 'part_export' )
+    qsearch( 'part_export', { 'exporttype' => 'sqlradius' } ),
+    qsearch( 'part_export', { 'exporttype' => 'sqlradius_withdomain' } ),
+    qsearch( 'part_export', { 'exporttype' => 'broadband_sqlradius' } ),
+  );
+}
+
 my $ip = '';
 if ( $cgi->param('ip') =~ /^((\d+\.){3}\d+)$/ ) {
   $ip = $1;
@@ -297,10 +302,10 @@ my $duration_format = sub {
 
 my $octets_format = sub {
   my $octets = shift;
-  my $megs = $octets / 1048576;
-  sprintf('<B>%.3f</B>&nbsp;megs', $megs);
-  #my $gigs = $octets / 1073741824
-  #sprintf('<B>%.3f</B> gigabytes', $gigs);
+  #my $megs = $octets / 1048576;
+  #sprintf('<B>%.3f</B>&nbsp;megs', $megs);
+  my $gigs = $octets / 1073741824;
+  sprintf('<B>%.3f</B>&nbsp;gigs', $gigs);
 };
 
 ###
@@ -368,6 +373,37 @@ tie %fields, 'Tie::IxHash',
                                           },
                            align   => 'right',
                          },
+  'callingstationid'  => {
+                           name    => 'Source&nbsp;or&nbsp;MAC',
+                           attrib  => 'Calling-Station-Id',
+                           fmt     => sub {
+                             my $src = shift;
+                             if ( $src =~
+                                    /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) {
+                               return $src. ' <span style="white-space: nowrap">('.
+                                        (Net::MAC::Vendor::lookup($1))->[0].
+                                      ')</span>';
+
+                             }
+                             length($src) ? $src : '&nbsp';
+                           },
+                           align   => 'right',
+                         },
+  'calledstationid'   => {
+                           name    => 'Destination',
+                           attrib  => 'Called-Station-ID',
+                           fmt     => sub {
+                             my $dst = shift;
+                             if ( $dst =~
+                                    /^\s*(([\dA-F]{2}[\-:]){5}[\dA-F]{2})/i ) {
+                               return $dst. ' <span style="white-space: nowrap">('.
+                                        (Net::MAC::Vendor::lookup($1))->[0].
+                                      ')</span>';
+                             }
+                             length($dst) ? $dst : '&nbsp';
+                           },
+                           align   => 'left',
+                       },
   'acctstarttime'     => {
                            name    => 'Start&nbsp;time',
                            attrib  => 'Acct-Start-Time',