RADIUS session viewing
[freeside.git] / httemplate / view / svc_acct.cgi
index 78c3a38..1322a69 100755 (executable)
@@ -45,8 +45,7 @@ function areyousure(href) {
 
 <%= header('Account View', menubar(
   ( ( $pkgnum || $custnum )
-    ? ( "View this package (#$pkgnum)" => "${p}view/cust_pkg.cgi?$pkgnum",
-        "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
+    ? ( "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
       )
     : ( "Cancel this (unaudited) account" =>
           "javascript:areyousure(\'${p}misc/cancel-unaudited.cgi?$svcnum\')" )
@@ -57,7 +56,9 @@ function areyousure(href) {
 <%
 
 #if ( $cust_pkg && $cust_pkg->part_pkg->plan eq 'sqlradacct_hour' ) {
-if ( $part_svc->part_export('sqlradius') ) {
+if (    $part_svc->part_export('sqlradius')
+     || $part_svc->part_export('sqlradius_withdomain')
+) {
 
   my $last_bill;
   my %plandata;
@@ -92,8 +93,9 @@ if ( $part_svc->part_export('sqlradius') ) {
   }
 
   if ( $cust_pkg ) {
-    print ' since last bill ('. time2str("%C", $last_bill). ') - '. 
-          $plandata{recur_included_hours}. ' total hours in plan<BR>';
+    print ' since last bill ('. time2str("%C", $last_bill). ')'.
+    print ' - '. $plandata{recur_included_hours}. ' total hours in plan<BR>'
+      if length($plandata{recur_included_hours});
   } else {
     print ' (no billing cycle available for unaudited account)<BR>';
   }
@@ -101,12 +103,57 @@ if ( $part_svc->part_export('sqlradius') ) {
   print 'Input: <B>'. sprintf("%.3f", $input). '</B> megabytes<BR>';
   print 'Output: <B>'. sprintf("%.3f", $output). '</B> megabytes<BR>';
 
+  my $href = qq!<A HREF="${p}search/sqlradius.cgi?svcnum=$svcnum!;
+  print qq!View sessions: this billing cycle | $href">all sessions</A>!;
+
   print '<BR>';
 
 }
 
 #print qq!<BR><A HREF="../misc/sendconfig.cgi?$svcnum">Send account information</A>!;
 
+%>
+
+<% 
+  my @part_svc = ();
+  if ( $pkgnum ) { 
+    @part_svc = grep {    $_->svcdb   eq 'svc_acct'
+                       && $_->svcpart != $part_svc->svcpart }
+                $cust_pkg->available_part_svc;
+  } else {
+    @part_svc = qsearch('part_svc', {
+      svcdb    => 'svc_acct',
+      disabled => '',
+      svcpart  => { op=>'!=', value=>$part_svc->svcpart },
+    } );
+  }
+  if ( @part_svc ) {
+%>
+  <SCRIPT TYPE="text/javascript">
+  function enable_change () {
+    if ( document.OneTrueForm.svcpart.selectedIndex > 1 ) {
+      document.OneTrueForm.submit.disabled = false;
+    } else {
+      document.OneTrueForm.submit.disabled = true;
+    }
+  }
+  </SCRIPT>
+  <FORM NAME="OneTrueForm" ACTION="<%=$p%>edit/process/cust_svc.cgi">
+  <INPUT TYPE="hidden" NAME="svcnum" VALUE="<%= $svcnum %>">
+  <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<%= $pkgnum %>">
+  <SELECT NAME="svcpart" onChange="enable_change()">
+    <OPTION VALUE="">Change service</OPTION>
+    <OPTION VALUE="">--------------</OPTION>
+    <% foreach my $part_svc ( @part_svc ) { %>
+      <OPTION VALUE="<%= $part_svc->svcpart %>"><%= $part_svc->svc %></OPTION>
+    <% } %>
+  </SELECT>
+  <INPUT NAME="submit" TYPE="submit" VALUE="Change" disabled>
+  </FORM>
+<% } %>
+
+<%
+
 print qq!<A HREF="${p}edit/svc_acct.cgi?$svcnum">Edit this information</A><BR>!.
       &ntable("#cccccc"). '<TR><TD>'. &ntable("#cccccc",2).
       "<TR><TD ALIGN=\"right\">Service number</TD>".