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,
}
-# 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,
|| $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')
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))
);
();
}
+=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.