summaryrefslogtreecommitdiff
path: root/FS/FS/svc_broadband.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/svc_broadband.pm')
-rwxr-xr-xFS/FS/svc_broadband.pm19
1 files changed, 17 insertions, 2 deletions
diff --git a/FS/FS/svc_broadband.pm b/FS/FS/svc_broadband.pm
index a0cd09013..c5034b008 100755
--- a/FS/FS/svc_broadband.pm
+++ b/FS/FS/svc_broadband.pm
@@ -2,12 +2,13 @@ package FS::svc_broadband;
use strict;
use vars qw(@ISA $conf);
+use NetAddr::IP;
use FS::Record qw( qsearchs qsearch dbh );
use FS::svc_Common;
use FS::cust_svc;
use FS::addr_block;
use FS::part_svc_router;
-use NetAddr::IP;
+use FS::tower_sector;
@ISA = qw( FS::svc_Radius_Mixin FS::svc_Common );
@@ -95,11 +96,14 @@ sub table_info {
'longname_plural' => 'Fixed wireless broadband services',
'display_weight' => 50,
'cancel_weight' => 70,
+ 'ip_field' => 'ip_addr',
'fields' => {
- 'description' => 'Descriptive label for this particular device.',
+ 'svcnum' => 'Service',
+ 'description' => 'Descriptive label for this particular device',
'speed_down' => 'Maximum download speed for this service in Kbps. 0 denotes unlimited.',
'speed_up' => 'Maximum upload speed for this service in Kbps. 0 denotes unlimited.',
'ip_addr' => 'IP address. Leave blank for automatic assignment.',
+ 'sectornum' => 'Tower sector',
'blocknum' => { 'label' => 'Address block',
'type' => 'select',
'select_table' => 'addr_block',
@@ -355,6 +359,7 @@ sub check {
my $error =
$self->ut_numbern('svcnum')
|| $self->ut_numbern('blocknum')
+ || $self->ut_foreign_keyn('sectornum', 'tower_sector', 'sectornum')
|| $self->ut_textn('description')
|| $self->ut_numbern('speed_up')
|| $self->ut_numbern('speed_down')
@@ -477,6 +482,16 @@ sub NetAddr {
new NetAddr::IP ($self->ip_addr);
}
+=item tower_sector
+
+=cut
+
+sub tower_sector {
+ my $self = shift;
+ return '' unless $self->sectornum;
+ qsearchs('tower_sector', { sectornum => $self->sectornum });
+}
+
=item addr_block
Returns the FS::addr_block record (i.e. the address block) for this broadband service.