option to keep track of unrateable CDRs, #15502
[freeside.git] / httemplate / search / cdr.html
index c77fc35..5e917db 100644 (file)
@@ -80,21 +80,40 @@ my @qsearch = @search;
 # freesidestatus
 ###
 
-if ( $cgi->param('freesidestatus') eq 'NULL' ) {
+my $status = $cgi->param('freesidestatus');
+if ( $status eq 'NULL' ) {
 
   $title = "Unprocessed $title";
   $hashref->{'freesidestatus'} = ''; # Record.pm will take care of it
   push @search, "( freesidestatus IS NULL OR freesidestatus = '' )";
 
-} elsif ( $cgi->param('freesidestatus') =~ /^([\w ]+)$/ ) {
-
-  $title = "Processed $title";
+} elsif ( $status =~ /^([\w ]+)$/ ) {
+  
+  if ( $status eq 'done' ) {
+    $title = "Processed $title";
+  }
+  elsif ( $status eq 'failed' ) {
+    $title = "Skipped $title";
+  }
   $hashref->{'freesidestatus'} = $1;
   push @search, "freesidestatus = '$1'";
 
 }
 
 ###
+# cdrtypenum
+###
+
+if ( $cgi->param('cdrtypenum') =~ /^(\d+)$/ ) {
+    $hashref->{'cdrtypenum'} = $1;
+    push @search, "cdrtypenum = $1";
+}
+elsif ( $cgi->param('cdrtypenum') eq 'none' ) {
+    $hashref->{'cdrtypenum'} = '';
+    push @search, "cdrtypenum is null";
+}
+
+###
 # termpartNstatus
 ###
 
@@ -331,7 +350,7 @@ unshift @fields, sub {
                        qq!<INPUT NAME="acctid$acctid" TYPE="checkbox" VALUE="1">!;
                      };
 
-my @links = ( '', map { exists($links{$_}) ? $links{$_} : '' } @fields );
+my @links = ( map { exists($links{$_}) ? $links{$_} : '' } @fields );
 
 
 ###