X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_bill_pkg_detail.pm;h=f8c9d1a3d7bd5f64984bc47d55b2f65ed8676235;hb=5f0e4d1d57c18d5bb8a52de4f7d4f519db5327f0;hp=9a90936ed9a1f024281acc8e36a98bc7f3f39cb9;hpb=5826159b3b1272f763b67f05a0cc3a53913f7912;p=freeside.git diff --git a/FS/FS/cust_bill_pkg_detail.pm b/FS/FS/cust_bill_pkg_detail.pm index 9a90936ed..f8c9d1a3d 100644 --- a/FS/FS/cust_bill_pkg_detail.pm +++ b/FS/FS/cust_bill_pkg_detail.pm @@ -4,6 +4,7 @@ use strict; use vars qw( @ISA $me $DEBUG %GetInfoType ); use FS::Record qw( qsearch qsearchs dbdef dbh ); use FS::cust_bill_pkg; +use FS::Conf; @ISA = qw(FS::Record); $me = '[ FS::cust_bill_pkg_detail ]'; @@ -102,10 +103,27 @@ and replace methods. sub check { my $self = shift; + my $conf = new FS::Conf; + + my $phonenum = $self->phonenum; + my $phonenum_check_method; + if ( $conf->exists('svc_phone-allow_alpha_phonenum') ) { + $phonenum =~ s/\W//g; + $phonenum_check_method = 'ut_alphan'; + } else { + $phonenum =~ s/\D//g; + $phonenum_check_method = 'ut_numbern'; + } + $self->phonenum($phonenum); + $self->ut_numbern('detailnum') || $self->ut_foreign_key('billpkgnum', 'cust_bill_pkg', 'billpkgnum') + #|| $self->ut_moneyn('amount') + || $self->ut_floatn('amount') || $self->ut_enum('format', [ '', 'C' ] ) || $self->ut_text('detail') + || $self->ut_foreign_keyn('classnum', 'usage_class', 'classnum') + || $self->$phonenum_check_method('phonenum') || $self->SUPER::check ;