summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2008-10-25 00:37:02 +0000
committerivan <ivan>2008-10-25 00:37:02 +0000
commit839d3dfa33b7dc88927a8608ffd10d6675655c10 (patch)
tree1a936c075b2330f5bfdcb9ba5948cdc6d3779bb8
parent668066581971a221b4915a3234ac37964ae43291 (diff)
add a switch to allow letters in phone numbers, RT#4195
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--FS/FS/svc_phone.pm8
2 files changed, 14 insertions, 1 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 882140fdb..40ef14c03 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2498,6 +2498,13 @@ worry that config_items is freeside-specific and icky.
'type' => 'text',
},
+ {
+ 'key' => 'svc_phone-allow_alpha_phonenum',
+ 'section' => '',
+ 'description' => 'Allow letters in phone numbers.',
+ 'type' => 'checkbox',
+ },
+
);
1;
diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm
index c90339a8b..c356344dd 100644
--- a/FS/FS/svc_phone.pm
+++ b/FS/FS/svc_phone.pm
@@ -179,8 +179,14 @@ and replace methods.
sub check {
my $self = shift;
+ my $conf = new FS::Conf;
+
my $phonenum = $self->phonenum;
- $phonenum =~ s/\D//g;
+ if ( $conf->exists('svc_phone-allow_alpha_phonenum') ) {
+ $phonenum =~ s/\W//g;
+ } else {
+ $phonenum =~ s/\D//g;
+ }
$self->phonenum($phonenum);
my $error =