search by change date on advanced package report, #17113
[freeside.git] / httemplate / search / cdr.html
index c77fc35..d0d7292 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
 ###
 
@@ -204,6 +223,17 @@ if ( $cgi->param('svcnum') =~ /^([\d, ]+)$/ ) {
 }
 
 ###
+# src/dst_ip_addr
+###
+foreach my $field ('src_ip_addr','dst_ip_addr') {
+  if ( $cgi->param($field) ) {
+    my $search = FS::cdr->ip_addr_sql($field, $cgi->param($field));
+    push @search, $search;
+    push @qsearch, $search;
+  }
+}
+
+###
 # cdrbatchnum (or legacy cdrbatch)
 ###
 
@@ -331,7 +361,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 );
 
 
 ###