diff options
-rw-r--r-- | FS/FS/contact_phone.pm | 23 | ||||
-rw-r--r-- | httemplate/elements/contact.html | 2 | ||||
-rw-r--r-- | httemplate/view/cust_main/contacts_new.html | 2 |
3 files changed, 25 insertions, 2 deletions
diff --git a/FS/FS/contact_phone.pm b/FS/FS/contact_phone.pm index 55cb09dc3..7ba85234a 100644 --- a/FS/FS/contact_phone.pm +++ b/FS/FS/contact_phone.pm @@ -131,6 +131,29 @@ sub check { $self->SUPER::check; } +sub phonenum_pretty { + my $self = shift; + + #until/unless we have the upgrade strip all whitespace + (my $phonenum = $self->phonenum ) =~ s/\D//g; + + if ( $self->countrycode == 1 ) { + + $phonenum =~ /^(\d{3})(\d{3})(\d{4})(\d*)$/ + or return $self->phonenum; #wtf? + + $phonenum = "($1) $2-$3"; + $phonenum .= " x$4" if $4; + return $phonenum; + + } else { + warn "don't know how to format phone numbers for country +". $self->countrycode; + #also, the UI doesn't have a good way for you to enter them yet or parse a countrycode from the number + return $self->phonenum; + } + +} + =back =head1 BUGS diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html index 3d5177612..8abce058e 100644 --- a/httemplate/elements/contact.html +++ b/httemplate/elements/contact.html @@ -31,7 +31,7 @@ % 'phonetypenum' => $1, % }); % if ( $contact_phone ) { -% $value = $contact_phone->phonenum; +% $value = $contact_phone->phonenum_pretty; % $value .= 'x'.$contact_phone->extension % if $contact_phone->extension; % $value = '+'. $contact_phone->countrycode. " $value" diff --git a/httemplate/view/cust_main/contacts_new.html b/httemplate/view/cust_main/contacts_new.html index 63a050c04..a851d99ed 100644 --- a/httemplate/view/cust_main/contacts_new.html +++ b/httemplate/view/cust_main/contacts_new.html @@ -22,7 +22,7 @@ % }) % or next; <TD ALIGN="right"> <% $phone_type->typename %> phone</TD> - <TD BGCOLOR="#FFFFFF"><% $contact_phone->phonenum |h %></TD> + <TD BGCOLOR="#FFFFFF"><% $contact_phone->phonenum_pretty |h %></TD> % } </TR> |