X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Ftower_sector.pm;h=350fce1fd2547c9a37962d04fb8f9b1663b9462a;hb=9d55843fddd22f64ad0f6b890181c6918aebbf6d;hp=2b0efa3da1bb417b548705d3137d312f463b7651;hpb=efc6cac18e49cee959026359718f525048164bd7;p=freeside.git diff --git a/FS/FS/tower_sector.pm b/FS/FS/tower_sector.pm index 2b0efa3da..350fce1fd 100644 --- a/FS/FS/tower_sector.pm +++ b/FS/FS/tower_sector.pm @@ -1,14 +1,16 @@ package FS::tower_sector; -use Class::Load qw(load_class); -use File::Path qw(make_path); -use Data::Dumper; - use strict; use base qw( FS::Record ); -use FS::Record qw( qsearch qsearchs ); +use FS::Record qw( dbh qsearch qsearchs ); use FS::tower; use FS::svc_broadband; +use Class::Load qw(load_class); +use File::Path qw(make_path); +use Data::Dumper; +use Storable qw(thaw); +use MIME::Base64 qw(decode_base64); + =head1 NAME @@ -91,6 +93,18 @@ The coverage map, as a PNG. The coordinate boundaries of the coverage map. +=item title + +The sector title. + +=item up_rate_limit + +Up rate limit for sector. + +=item down_rate_limit + +down rate limit for sector. + =back =head1 METHODS @@ -153,6 +167,8 @@ sub check { || $self->ut_numbern('downtilt') || $self->ut_floatn('sector_range') || $self->ut_numbern('margin') + || $self->ut_numbern('up_rate_limit') + || $self->ut_numbern('down_rate_limit') || $self->ut_anything('image') || $self->ut_sfloatn('west') || $self->ut_sfloatn('east') @@ -258,6 +274,25 @@ sub queue_generate_coverage { =over 4 +=item part_export_svc_broadband + +Returns all svc_broadband exports. + +=cut + +sub part_export_svc_broadband { + my $info = $FS::part_export::exports{'svc_broadband'} or return; + my @exporttypes = map { dbh->quote($_) } keys %$info or return; + qsearch({ + 'table' => 'part_export', + 'extra_sql' => 'WHERE exporttype IN(' . join(',', @exporttypes) . ')' + }); +} + +=back + +=over 4 + =item process_generate_coverage JOB, PARAMS Queueable routine to fetch the sector coverage map from the tower mapping @@ -271,6 +306,9 @@ PARAMS must include 'sectornum'. sub process_generate_coverage { my $job = shift; my $param = shift; + if (!ref($param)) { + $param = thaw(decode_base64($param)); + } $job->update_statustext('0,generating map') if $job; my $sectornum = $param->{sectornum}; my $sector = FS::tower_sector->by_key($sectornum)