svc_hardware: better error messages for bad hw_addr when not validating as a MAC...
[freeside.git] / FS / FS / tower_sector.pm
index 6e3104a..eb00d33 100644 (file)
@@ -99,13 +99,13 @@ The coordinate boundaries of the coverage map.
 
 The sector title.
 
-=item up_rate
+=item up_rate_limit
 
-Up rate for sector.
+Up rate limit for sector.
 
-=item down_rate
+=item down_rate_limit
 
-down rate for sector.
+down rate limit for sector.
 
 =back
 
@@ -247,7 +247,7 @@ sub check {
     $self->ut_numbern('sectornum')
     || $self->ut_number('towernum', 'tower', 'towernum')
     || $self->ut_text('sectorname')
-    || $self->ut_textn('ip_addr')
+    || $self->ut_ip46n('ip_addr')
     || $self->ut_floatn('height')
     || $self->ut_numbern('freq_mhz')
     || $self->ut_numbern('direction')
@@ -260,8 +260,8 @@ sub check {
     || $self->ut_decimaln('antenna_gain')
     || $self->ut_numbern('hardware_typenum')
     || $self->ut_textn('title')
-    || $self->ut_numbern('up_rate')
-    || $self->ut_numbern('down_rate')
+    || $self->ut_numbern('up_rate_limit')
+    || $self->ut_numbern('down_rate_limit')
     # all of these might get relocated as part of coverage refactoring
     || $self->ut_anything('image')
     || $self->ut_sfloatn('west')
@@ -379,6 +379,21 @@ sub part_export {
   });
 }
 
+=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
 
 =head1 SUBROUTINES
@@ -456,6 +471,17 @@ sub process_generate_coverage {
   die $error if $error;
 }
 
+sub _upgrade_data {
+
+  require FS::Misc::FixIPFormat;
+  FS::Misc::FixIPFormat::fix_bad_addresses_in_table(
+      'tower_sector', 'sectornum', 'ip_addr',
+  );
+
+  '';
+
+}
+
 =head1 BUGS
 
 =head1 SEE ALSO
@@ -465,4 +491,3 @@ L<FS::tower>, L<FS::Record>, schema.html from the base documentation.
 =cut
 
 1;
-