X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_phone.pm;h=77b01372636ae641ab5ec35f4150383bde960444;hb=b5d22578f60ba105934c92c031799671bf6c0f29;hp=bab8537bbc0a85bc4119c37af540221c771fd730;hpb=786d21e09d1f11c8976a8d45ef734d2d0a100ee7;p=freeside.git diff --git a/FS/FS/svc_phone.pm b/FS/FS/svc_phone.pm index bab8537bb..77b013726 100644 --- a/FS/FS/svc_phone.pm +++ b/FS/FS/svc_phone.pm @@ -173,6 +173,15 @@ sub table_info { select_label => 'domain', disable_inventory => 1, }, + 'sms_carrierid' => { label => 'SMS Carrier', + type => 'select', + select_table => 'cdr_carrier', + select_key => 'carrierid', + select_label => 'carriername', + disable_inventory => 1, + }, + 'sms_account' => { label => 'SMS Carrier Account', }, + 'max_simultaneous' => { label=>'Maximum number of simultaneous users' }, 'locationnum' => { label => 'E911 location', disable_inventory => 1, @@ -358,8 +367,6 @@ sub delete { } -# the delete method can be inherited from FS::Record - =item replace OLD_RECORD Replaces the OLD_RECORD with this one in the database. If there is an error, @@ -477,6 +484,9 @@ sub check { || $self->ut_textn('phone_name') || $self->ut_foreign_keyn('pbxsvc', 'svc_pbx', 'svcnum' ) || $self->ut_foreign_keyn('domsvc', 'svc_domain', 'svcnum' ) + || $self->ut_foreign_keyn('sms_carrierid', 'cdr_carrier', 'carrierid' ) + || $self->ut_alphan('sms_account') + || $self->ut_numbern('max_simultaneous') || $self->ut_foreign_keyn('locationnum', 'cust_location', 'locationnum') || $self->ut_numbern('forwarddst') || $self->ut_textn('email') @@ -517,7 +527,7 @@ sub check { unless ( length($self->pin) ) { my $random_pin = $conf->config('svc_phone-random_pin'); - if ( $random_pin =~ /^\d+$/ ) { + if ( defined($random_pin) && $random_pin =~ /^\d+$/ ) { $self->pin( join('', map int(rand(10)), 0..($random_pin-1)) ); @@ -637,6 +647,26 @@ sub radius_groups { (); } +=item sms_cdr_carrier + +=cut + +sub sms_cdr_carrier { + my $self = shift; + return '' unless $self->sms_carrierid; + qsearchs('cdr_carrier', { 'carrierid' => $self->sms_carrierid } ); +} + +=item sms_carriername + +=cut + +sub sms_carriername { + my $self = shift; + my $cdr_carrier = $self->sms_cdr_carrier or return ''; + $cdr_carrier->carriername; +} + =item phone_device Returns any FS::phone_device records associated with this service.