summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-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 =