# and fixup $count_query
my @search = ();
-my @qsearch = ();
###
# freesidestatus
my $str2time_sql = str2time_sql;
my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
-push @search,
-my @dsearch = ( "$str2time calldate) >= $beginning ",
- "$str2time calldate) <= $ending"
- );
-push @search, @dsearch;
-push @qsearch, @search;
+push @search, "$str2time_sql calldate) >= $beginning ",
+ "$str2time_sql calldate) <= $ending";
+###
+# duration / billsec
+###
+
+push @search, FS::UI::Web::parse_lt_gt($cgi, 'duration');
+push @search, FS::UI::Web::parse_lt_gt($cgi, 'billsec');
###
-# src/dest
+# src/dest/charged_party
###
+my @qsearch = @search;
+
if ( $cgi->param('src') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
( my $src = $1 ) =~ s/\D//g;
$hashref->{'src'} = $src;
push @search, "dst = '$dst'";
}
+if ( $cgi->param('charged_party') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
+ ( my $charged_party = $1 ) =~ s/\D//g;
+ #$hashref->{'charged_party'} = $charged_party;
+ #push @search, "charged_party = '$charged_party'";
+ #XXX countrycode
+ push @search, " ( charged_party = '$charged_party'
+ OR charged_party = '1$charged_party' ) ";
+ push @qsearch, " ( charged_party = '$charged_party'
+ OR charged_party = '1$charged_party' ) ";
+}
+
+###
+# cdrbatch
+###
+
+if ( $cgi->param('cdrbatch') ne '__ALL__' ) {
+ if ( $cgi->param('cdrbatch') eq '' ) {
+ my $search = "( cdrbatch IS NULL OR cdrbatch = '' )";
+ push @qsearch, $search;
+ push @search, $search;
+ } else {
+ $hashref->{cdrbatch} = $cgi->param('cdrbatch');
+ push @search, 'cdrbatch = '. dbh->quote($cgi->param('cdrbatch'));
+ }
+}
+
###
# finish it up
###