X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fsvc_alarm.pm;h=1714109e5dde471236a939a890d112d86a035229;hp=fafd9e88686120a5e0e750a2743847a6989e9ff3;hb=bb7e827141c9ed68f30765c9ca2ddcd1d760ad2d;hpb=32072dbf59a054529f5304574c0f56f9567d14d0 diff --git a/FS/FS/svc_alarm.pm b/FS/FS/svc_alarm.pm index fafd9e886..1714109e5 100644 --- a/FS/FS/svc_alarm.pm +++ b/FS/FS/svc_alarm.pm @@ -74,6 +74,9 @@ sub table_info { 'acctnum' => { label => 'Account #', %opts }, '_password' => { label => 'Password' , %opts }, 'location' => { label => 'Location', %opts }, + 'cs_receiver' => { label => 'CS Receiver #'}, + 'cs_phonenum' => { label => 'CS Phone #' }, + 'serialnum' => { label => 'Alarm Serial #' }, 'alarmsystemnum' => { label => 'Alarm System Vendor', type => 'select-alarm_system', disable_inventory => 1, @@ -194,17 +197,26 @@ sub check { my $x = $self->setfixed; return $x unless ref $x; - my $error = + my $iso3166 = $self->cust_main->ship_location->country(); + + my $error = $self->ut_numbern('svcnum') || $self->ut_text('acctnum') || $self->ut_alphan('_password') || $self->ut_textn('location') + || $self->ut_numbern('cs_receiver') + || $self->ut_phonen('cs_phonenum', $iso3166) + || $self->ut_alphan('serialnum') || $self->ut_foreign_key('alarmsystemnum', 'alarm_system', 'systemnum') || $self->ut_foreign_key('alarmtypenum', 'alarm_type', 'typenum') || $self->ut_foreign_key('alarmstationnum', 'alarm_station', 'stationnum') ; return $error if $error; + #really just an signed int, but to discourage storing other data (e.g. phone) + return 'CS Receiver must be 9 digits or less' + if $self->cs_receiver =~ /\d{10}/; + $self->SUPER::check; }