multi-select for agent on RADIUS usage report, RT#73050
[freeside.git] / httemplate / search / sqlradius.html
index 48a3d86..547a9bb 100644 (file)
-<%= include( '/elements/header.html', 'Search RADIUS sessions', '', '', '
-<LINK REL="stylesheet" TYPE="text/css" HREF="../elements/calendar-win2k-2.css" TITLE="win2k-2">
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar_stripped.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-en.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/calendar-setup.js"></SCRIPT>
-') %>
-<FORM NAME="OneTrueForm" ACTION="sqlradius.cgi" METHOD="POST">
-<% #include( '/elements/table.html' ) %>
-<%= ntable('#cccccc') %>
+<% include( '/elements/header.html', 'Search RADIUS sessions' ) %>
+
+<FORM NAME="OneTrueForm" ACTION="sqlradius.cgi" METHOD="GET">
+% #include( '/elements/table.html' ) 
+
+<% ntable('#cccccc') %>
 <TR>
   <TD ALIGN="right">Username: </TD>
   <TD><INPUT TYPE="text" NAME="username"></TD>
 </TR>
+<% include( '/elements/tr-checkbox.html',
+            'field' => 'summarize',
+            'label' => 'Summarize',
+            'value' => 'Y',
+          )
+%>
 <TR>
   <TD></TD>
   <TD><FONT SIZE="-1"><I>(leave blank to show all users)</I></FONT></TD>
 </TR>
-<TR>
-  <TD ALIGN="right">IP address: </TD>
-  <TD><INPUT TYPE="text" NAME="ip"></TD>
-</TR>
-<TR>
-  <TD></TD>
-  <TD><FONT SIZE="-1"><I>(leave blank to show all IPs)</I></FONT></TD>
-</TR>
-<TR>
-  <TD ALIGN="right">From: </TD>
-  <TD>
-    <INPUT TYPE="text" NAME="beginning" ID="beginning_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="beginning_button" STYLE="cursor: pointer" TITLE="Select date">
-  </TD>
-  <SCRIPT TYPE="text/javascript">
-    Calendar.setup({
-      inputField: "beginning_text",
-      ifFormat:   "%m/%d/%Y",
-      button:     "beginning_button",
-      align:      "BR"
-    });
-  </SCRIPT>
-</TR>
-<TR>
-  <TD></TD>
-  <TD><i>m/d/y</i></TD>
-</TR>
-<TR>
-  <TD ALIGN="right">To: </TD>
-  <TD>
-    <INPUT TYPE="text" NAME="ending" ID="ending_text" VALUE="" SIZE=11 MAXLENGTH=10> <IMG SRC="../images/calendar.png" ID="ending_button" STYLE="cursor:pointer" TITLE="Select date">
-  </TD>
+% my @part_export = qsearch( 'part_export', { 'exporttype' => 'sqlradius' } );
+%   push @part_export,
+%     qsearch( 'part_export', { 'exporttype' => 'sqlradius_withdomain' } );
+%
+% if ( grep { ! $_->option('hide_ip') } @part_export ) { 
+
+  <TR>
+    <TD ALIGN="right">IP address: </TD>
+    <TD><INPUT TYPE="text" NAME="ip"></TD>
+  </TR>
+  <TR>
+    <TD></TD>
+    <TD><FONT SIZE="-1"><I>(leave blank to show all IPs)</I></FONT></TD>
+  </TR>
+% } 
+% if ( grep { $_->option('show_called_station') } @part_export ) { 
+
+  <TR>
+    <TD ALIGN="right">Destination prefix:</TD>
+    <TD><INPUT TYPE="text" NAME="prefix"></TD>
+  </TR>
+  <TR>
+    <TD></TD>
+    <TD><FONT SIZE="-1"><I>(country code or country code and prefix)</I></FONT></TD>
+  </TR>
+  <TR>
+    <TD></TD>
+    <TD><FONT SIZE="-1"><I>(leave blank to show all destinations)</I></FONT></TD>
+  </TR>
+% } 
+
+  <TR>
+    <TD>Show:</TD>
+    <TD>
+      <INPUT TYPE="radio" NAME="session_status" VALUE="" onClick="enable_stop(true);" CHECKED>All sessions<BR>
+      <INPUT TYPE="radio" NAME="session_status" VALUE="closed" onClick="enable_stop(true);">Completed sessions<BR>
+      <INPUT TYPE="radio" NAME="session_status" VALUE="open" onClick="enable_stop(false);">Open sessions
+    </TD>
+  </TR>
+
+  <TR>
+    <TH COLSPAN=2>Session start</TD>
+  </TR>
+
+  <% include( '/elements/tr-input-beginning_ending.html',
+                'prefix'     => 'starttime',
+                'input_time' => 1,
+            )
+  %>
+
   <SCRIPT TYPE="text/javascript">
-    Calendar.setup({
-      inputField: "ending_text",
-      ifFormat:   "%m/%d/%Y",
-      button:     "ending_button",
-      align:      "BR"
-    });
+
+    function enable_stop(value) {
+
+      var f = document.OneTrueForm;
+      if ( value ) {
+        f.stoptime_beginning_text.disabled = false;
+        f.stoptime_ending_text.disabled = false;
+        f.stoptime_beginning_text.style.backgroundColor = '#ffffff';
+        f.stoptime_ending_text.style.backgroundColor = '#ffffff';
+        f.stoptime_beginning_button.style.display = '';
+        f.stoptime_ending_button.style.display = '';
+        f.stoptime_beginning_disabled.style.display = 'none';
+        f.stoptime_ending_disabled.style.display = 'none';
+      } else {
+        f.stoptime_beginning_text.disabled = true;
+        f.stoptime_ending_text.disabled = true;
+        f.stoptime_beginning_text.style.backgroundColor = '#dddddd';
+        f.stoptime_ending_text.style.backgroundColor = '#dddddd';
+        f.stoptime_beginning_button.style.display = 'none';
+        f.stoptime_ending_button.style.display = 'none';
+        f.stoptime_beginning_disabled.style.display = '';
+        f.stoptime_ending_disabled.style.display = '';
+      }
+
+    }
+
   </SCRIPT>
-</TR>
-<TR>
-  <TD></TD>
-  <TD><i>m/d/y</i>
-  <BR><FONT SIZE="-1">(leave one or both dates blank for an open-ended search)</FONT>
-  </TD>
-</TR>
+
+  <TR>
+    <TH COLSPAN=2>Session end</TD>
+  </TR>
+
+  <% include( '/elements/tr-input-beginning_ending.html',
+                'prefix'     => 'stoptime',
+                'input_time' => 1,
+            )
+  %>
+
 </TABLE>
 <BR><INPUT TYPE="submit" VALUE="View sessions">
 </FORM>
-</BODY>
-</HTML>
 
+<% include('/elements/footer.html') %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('List rating data');
 
+</%init>