mark advertising source as a required field
[freeside.git] / httemplate / edit / tower.html
index c27d9d2..673a271 100644 (file)
@@ -4,17 +4,24 @@
      viewall_dir   => 'browse',
      fields        => [ 'towername',
                         { field=>'disabled', type=>'checkbox', value=>'Y', },
+                        { field             => 'default_ip_addr',
+                          curr_value_callback => $default_ip_addr_callback },
                         { field             => 'sectornum',
                           type              => 'tower_sector',
                           o2m_table         => 'tower_sector',
                           m2_label          => 'Sector',
                           m2_error_callback => $m2_error_callback,
                         },
+                        'latitude',
+                        'longitude',
                       ],
      labels        => { 'towernum'  => 'Tower',
                         'towername' => 'Name',
                         'sectornum' => 'Sector',
                         'disabled'  => 'Disabled',
+                        'default_ip_addr' => 'Tower IP address',
+                        'latitude' => 'Latitude',
+                        'longitude' => 'Longitude',
                       },
 &>
 <%init>
@@ -25,13 +32,20 @@ my $m2_error_callback = sub { # reconstruct the list
   my @fields = qw(sectorname ip_addr);
   map {
     my $k = $_;
-    next if !length($cgi->param($k.'_sectorname'));
     new FS::tower_sector {
       'towernum'  => $object->towernum,
       'sectornum' => scalar( $cgi->param($k) ),
       map { $_ => scalar( $cgi->param($k.'_'.$_) ) } @fields,
     };
-  } grep /^sectornum\d+$/, ($cgi->param);
+  } grep length($cgi->param($_.'_sectorname')),
+      grep /^sectornum\d+$/,
+        ($cgi->param);
+};
+
+my $default_ip_addr_callback = sub {
+  my ($cgi, $object) = @_;
+  my $sector = $object ? $object->default_sector : '';
+  $sector ? $sector->ip_addr : '';
 };
 
 </%init>