# 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
###
push @qsearch, $search;
}
+###
+# 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)
###
qq!<INPUT NAME="acctid$acctid" TYPE="checkbox" VALUE="1">!;
};
-my @links = ( '', map { exists($links{$_}) ? $links{$_} : '' } @fields );
+my @links = ( map { exists($links{$_}) ? $links{$_} : '' } @fields );
###