[freeside-commits] freeside/httemplate/search cdr.html,1.11,1.12

Ivan,,, ivan at wavetail.420.am
Tue Feb 10 02:35:15 PST 2009


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

Modified Files:
	cdr.html 
Log Message:
quick n' dirty CDR deletion from web interface, RT#4766 / RT#4731

Index: cdr.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/search/cdr.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- cdr.html	29 Aug 2008 01:09:09 -0000	1.11
+++ cdr.html	10 Feb 2009 10:35:13 -0000	1.12
@@ -1,15 +1,50 @@
 <% include( 'elements/search.html',
                'title' => $title,
                'name'  => 'call detail records',
+
                'query' => { 'table'     => 'cdr',
                             'hashref'   => $hashref,
 			    'extra_sql' => $qsearch,
 			    'order_by'  => 'ORDER BY calldate',
                           },
                'count_query' => $count_query,
-               'header' => [ fields('cdr') ], #XXX fill in some nice names
-               'fields' => [ fields('cdr') ], #XXX fill in some pretty-print
-                                              # processing, etc.
+               'header' => [
+                             '', # checkbox column
+                             fields('cdr'), #XXX fill in some nice names
+                           ],
+               'fields' => [
+                             sub {
+                               return '' unless $edit_data;
+                               $areboxes = 1;
+                               my $cdr = shift;
+                               my $acctid = $cdr->acctid;
+                               qq!<INPUT NAME="acctid$acctid" TYPE="checkbox" VALUE="1">!;
+                             },
+                             fields('cdr'), #XXX fill in some pretty-print
+                                            #processing, etc.
+                           ],
+
+               'html_form'   => qq!<FORM NAME="cdrForm" ACTION="$p/misc/cdr.cgi" METHOD="POST">!,
+               #false laziness w/queue.html
+               'html_foot' => sub {
+                                if ( $areboxes ) {
+                                  '<BR><INPUT TYPE="button" VALUE="select all" onClick="setAll(true)">'.
+                                  '<INPUT TYPE="button" VALUE="unselect all" onClick="setAll(false)">'.
+                                  qq!<BR><INPUT TYPE="submit" NAME="action" VALUE="reprocess selected" onClick="return confirm('Are you sure you want to reprocess the selected CDRs?')">!.
+                                  qq!<INPUT TYPE="submit" NAME="action" VALUE="delete selected" onClick="return confirm('Are you sure you want to delete the selected CDRs?')"><BR>!.
+                                  '<SCRIPT TYPE="text/javascript">'.
+                                  '  function setAll(setTo) { '.
+                                  '    theForm = document.cdrForm;'.
+                                  '    for (i=0,n=theForm.elements.length;i<n;i++)'.
+                                  '      if (theForm.elements[i].name.indexOf("jobnum") != -1)'.
+                                  '        theForm.elements[i].checked = setTo;'.
+                                  '  }'.
+                                  '</SCRIPT>';
+                                } else {
+                                  '';
+                                }
+                              },
+
              )
 %>
 <%init>
@@ -17,6 +52,10 @@
 die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('List rating data');
 
+my $edit_data = $FS::CurrentUser::CurrentUser->access_right('Edit rating data');
+
+my $areboxes = 0;
+
 my $title = 'Call Detail Records';
 my $hashref = {};
 



More information about the freeside-commits mailing list