input and output on data volume fields specified with k,m,g,or t
[freeside.git] / FS / FS / svc_broadband.pm
index b047c9a..473cd57 100755 (executable)
@@ -93,10 +93,11 @@ sub table_info {
     'display_weight' => 50,
     'cancel_weight'  => 70,
     'fields' => {
-      '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.',
-      'blocknum'   => 'Address block.',
+      '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.',
+      'blocknum'    => 'Address block.',
     },
   };
 }
@@ -193,14 +194,15 @@ sub check {
   my $error =
     $self->ut_numbern('svcnum')
     || $self->ut_foreign_key('blocknum', 'addr_block', 'blocknum')
+    || $self->ut_textn('description')
     || $self->ut_number('speed_up')
     || $self->ut_number('speed_down')
     || $self->ut_ipn('ip_addr')
     || $self->ut_hexn('mac_addr')
     || $self->ut_hexn('auth_key')
-    || $self->ut_floatn('latitude')
-    || $self->ut_floatn('longitude')
-    || $self->ut_floatn('altitude')
+    || $self->ut_coordn('latitude', -90, 90)
+    || $self->ut_coordn('longitude', -180, 180)
+    || $self->ut_sfloatn('altitude')
     || $self->ut_textn('vlan_profile')
   ;
   return $error if $error;
@@ -208,13 +210,6 @@ sub check {
   if($self->speed_up < 0) { return 'speed_up must be positive'; }
   if($self->speed_down < 0) { return 'speed_down must be positive'; }
 
-  if($self->latitude < -90 || $self->latitude > 90) {
-    return 'latitude must be between -90 and 90';
-  }
-  if($self->longitude < -180 || $self->longitude > 180) {
-    return 'longitude must be between -180 and 180';
-  }
-
   if (not($self->ip_addr) or $self->ip_addr eq '0.0.0.0') {
     my $next_addr = $self->addr_block->next_free_addr;
     if ($next_addr) {