diff options
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Conf.pm | 7 | ||||
-rw-r--r-- | FS/FS/svc_phone.pm | 8 |
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 = |