summaryrefslogtreecommitdiff
path: root/httemplate/search/cdr.html
diff options
context:
space:
mode:
authormark <mark>2010-09-22 19:35:18 +0000
committermark <mark>2010-09-22 19:35:18 +0000
commit343befcb41d5ab76173645ceb8ac235ca7b92d35 (patch)
treed353531d4dfdde28faceaedba00b971b05cd2feb /httemplate/search/cdr.html
parent5250c44bd7f282c7d782bf0e8349af12376929df (diff)
CIA and Infinite Conferencing cdr formats, RT#8788
Diffstat (limited to 'httemplate/search/cdr.html')
-rw-r--r--httemplate/search/cdr.html26
1 files changed, 17 insertions, 9 deletions
diff --git a/httemplate/search/cdr.html b/httemplate/search/cdr.html
index 00aee9e..702dc1b 100644
--- a/httemplate/search/cdr.html
+++ b/httemplate/search/cdr.html
@@ -55,6 +55,8 @@ die "access denied"
my $edit_data = $FS::CurrentUser::CurrentUser->access_right('Edit rating data');
+my $conf = new FS::Conf;
+
my $areboxes = 0;
my $title = 'Call Detail Records';
@@ -148,14 +150,21 @@ foreach my $param ( grep /^termpart\d+status$/, $cgi->param ) {
# src/dest/charged_party
###
-if ( $cgi->param('src') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
- ( my $src = $1 ) =~ s/\D//g;
+my $phonenum = qr/^\s*([\d\-\+\ ]+)\s*$/;
+my $x = qr/\D/;
+if ( $conf->exists('svc_phone-allow_alpha_phonenum') ) {
+ $phonenum = qr/^\s*([\d\-\+\ A-Za-z]+)\s*$/;
+ $x = qr/[^\dA-Za-z]/;
+}
+
+if ( $cgi->param('src') =~ $phonenum ) {
+ ( my $src = $1 ) =~ s/$x//g;
$hashref->{'src'} = $src;
push @search, "src = '$src'";
}
-if ( $cgi->param('dst') =~ /^\s*([\d\-\+ ]+)\s*$/ ) {
- ( my $dst = $1 ) =~ s/\D//g;
+if ( $cgi->param('dst') =~ $phonenum ) {
+ ( my $dst = $1 ) =~ s/$x//g;
$hashref->{'dst'} = $dst;
push @search, "dst = '$dst'";
}
@@ -166,8 +175,8 @@ if ( $cgi->param('dcontext') =~ /^\s*(.+)\s*$/ ) {
push @search, "dcontext = '$dcontext'";
}
-if ( $cgi->param('charged_party') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
- ( my $charged_party = $1 ) =~ s/\D//g;
+if ( $cgi->param('charged_party') =~ $phonenum ) {
+ ( my $charged_party = $1 ) =~ s/$x//g;
#$hashref->{'charged_party'} = $charged_party;
#push @search, "charged_party = '$charged_party'";
#XXX countrycode
@@ -178,8 +187,8 @@ if ( $cgi->param('charged_party') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
push @qsearch, $search;
}
-if ( $cgi->param('charged_party_or_src') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
- ( my $charged_party = $1 ) =~ s/\D//g;
+if ( $cgi->param('charged_party_or_src') =~ $phonenum ) {
+ ( my $charged_party = $1 ) =~ s/$x//g;
#$hashref->{'charged_party'} = $charged_party;
#push @search, "charged_party = '$charged_party'";
#XXX countrycode
@@ -191,7 +200,6 @@ if ( $cgi->param('charged_party_or_src') =~ /^\s*([\d\-\+\ ]+)\s*$/ ) {
push @qsearch, $search;
}
-
###
# cdrbatchnum (or legacy cdrbatch)
###