X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Ftower_sector.pm;h=4fbd89ca23d5eec2ab30edb8f29df01d70b0ccee;hb=dba6b1030a2694cbb69371c171e4ebb8c52db830;hp=80e7f51b2adec87bbe8b5c3fd1a9de40a63f830a;hpb=c81adbf7bbaa537b650f39bb76ce0b7b8c069450;p=freeside.git diff --git a/FS/FS/tower_sector.pm b/FS/FS/tower_sector.pm index 80e7f51b2..4fbd89ca2 100644 --- a/FS/FS/tower_sector.pm +++ b/FS/FS/tower_sector.pm @@ -1,9 +1,7 @@ package FS::tower_sector; +use base qw( FS::Record ); use strict; -use base qw( FS::Record ); -use FS::Record qw( qsearchs ); # qsearch ); -use FS::tower; =head1 NAME @@ -26,8 +24,8 @@ FS::tower_sector - Object methods for tower_sector records =head1 DESCRIPTION -An FS::tower_sector object represents an example. FS::tower_sector inherits from -FS::Record. The following fields are currently supported: +An FS::tower_sector object represents an tower sector. FS::tower_sector +inherits from FS::Record. The following fields are currently supported: =over 4 @@ -56,15 +54,13 @@ ip_addr =item new HASHREF -Creates a new example. To add the example to the database, see L<"insert">. +Creates a new sector. To add the sector to the database, see L<"insert">. Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the I method. =cut -# the new method can be inherited from FS::Record, if a table method is defined - sub table { 'tower_sector'; } =item insert @@ -72,38 +68,35 @@ sub table { 'tower_sector'; } Adds this record to the database. If there is an error, returns the error, otherwise returns false. -=cut - -# the insert method can be inherited from FS::Record - =item delete Delete this record from the database. =cut -# the delete method can be inherited from FS::Record +sub delete { + my $self = shift; + + #not the most efficient, not not awful, and its not like deleting a sector + # with customers is a common operation + return "Can't delete a sector with customers" if $self->svc_broadband; + + $self->SUPER::delete; +} =item replace OLD_RECORD Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false. -=cut - -# the replace method can be inherited from FS::Record - =item check -Checks all fields to make sure this is a valid example. If there is +Checks all fields to make sure this is a valid sector. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods. =cut -# the check method should currently be supplied - FS::Record contains some -# data checking routines - sub check { my $self = shift; @@ -112,6 +105,11 @@ sub check { || $self->ut_number('towernum', 'tower', 'towernum') || $self->ut_text('sectorname') || $self->ut_textn('ip_addr') + || $self->ut_floatn('height') + || $self->ut_numbern('freq_mhz') + || $self->ut_numbern('direction') + || $self->ut_numbern('width') + || $self->ut_floatn('sector_range') ; return $error if $error; @@ -122,13 +120,6 @@ sub check { Returns the tower for this sector, as an FS::tower object (see L). -=cut - -sub tower { - my $self = shift; - qsearchs('tower', { 'towernum'=>$self->towernum } ); -} - =item description Returns a description for this sector including tower name. @@ -145,6 +136,10 @@ sub description { } } +=item svc_broadband + +Returns the services on this tower sector. + =back =head1 BUGS