summaryrefslogtreecommitdiff
path: root/FS/FS/svc_phone.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-01-11 21:22:22 -0800
committerIvan Kohler <ivan@freeside.biz>2013-01-11 21:22:22 -0800
commit66eaa4a82b7fc52e711ecdefc95feedf629f71b1 (patch)
tree90737f540471a91f4a6ab5f2709b09559c54680f /FS/FS/svc_phone.pm
parent73954e6f0f1f31cb33f231bc381ab93ddabd8c02 (diff)
add svc_phone.sim_imsi, RT#20768
Diffstat (limited to 'FS/FS/svc_phone.pm')
-rw-r--r--FS/FS/svc_phone.pm15
1 files changed, 13 insertions, 2 deletions
diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm
index 1296c1e..bf610c6 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