X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_phone.pm;h=bf610c62bbce209208c374ae51cdfb1049d7f5bd;hb=a65d16767bcaa1077be0f41568a4349c9db18990;hp=1296c1e856ec434d6c6f37cf5c62fad7a97fc33f;hpb=a6fe07e49e3fc12169e801b1ed6874c3a5bd8500;p=freeside.git diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm index 1296c1e85..bf610c62b 100644 --- a/FS/FS/svc_phone.pm +++ b/FS/FS/svc_phone.pm @@ -23,10 +23,11 @@ $DEBUG = 0; @pw_set = ( 'a'..'k', 'm','n', 'p-z', 'A'..'N', 'P'..'Z' , '2'..'9' ); #ask FS::UID to run this stuff for us later -$FS::UID::callback{'FS::svc_acct'} = sub { +FS::UID->install_callback( sub { $conf = new FS::Conf; $phone_name_max = $conf->config('svc_phone-phone_name-max_length'); -}; +} +); =head1 NAME @@ -68,6 +69,10 @@ primary key =item phonenum +=item sim_imsi + +SIM IMSI (http://en.wikipedia.org/wiki/International_mobile_subscriber_identity) + =item sip_password =item pin @@ -147,6 +152,7 @@ sub table_info { disable_select => 1, }, 'phonenum' => 'Phone number', + 'sim_imsi' => 'IMSI', #http://en.wikipedia.org/wiki/International_mobile_subscriber_identity 'pin' => { label => 'Voicemail PIN', #'Personal Identification Number', type => 'text', disable_inventory => 1, @@ -466,6 +472,7 @@ sub check { $self->ut_numbern('svcnum') || $self->ut_numbern('countrycode') || $self->$phonenum_check_method('phonenum') + || $self->ut_numbern('sim_imsi') || $self->ut_anything('sip_password') || $self->ut_numbern('pin') || $self->ut_textn('phone_name') @@ -486,6 +493,10 @@ sub check { ; return $error if $error; + return 'Illegal IMSI (not 14-15 digits)' #shorter? + if length($self->sim_imsi) + && ( length($self->sim_imsi) < 14 || length($self->sim_imsi) > 15 ); + # LNP data validation return 'Cannot set LNP fields: no LNP in progress' if ( ($self->lnp_desired_due_date || $self->lnp_due_date