name_singular => 'tower',
table => 'tower',
viewall_dir => 'browse',
+ html_init => include('/elements/mapselect.html'),
fields => [ 'towername',
{ field=>'disabled', type=>'checkbox', value=>'Y', },
- { field => 'sectornum',
- type => 'tower_sector',
- o2m_table => 'tower_sector',
- m2_label => 'Sector',
- m2_error_callback => $m2_error_callback,
+ { field=>'color', type=>'pickcolor' },
+ { field => 'default_ip_addr',
+ curr_value_callback => $default_ip_addr_callback },
+ 'latitude',
+ 'longitude',
+ 'altitude',
+ 'height',
+ 'veg_height',
+# { field => 'sectornum',
+# type => 'tower_sector',
+# o2m_table => 'tower_sector',
+# m2_label => 'Sector',
+# m2_error_callback => $m2_error_callback,
+# },
+ { type => 'tower_sectors',
+ field => 'sectornum',
+ # does its own o2m-thing
},
],
- labels => { 'towernum' => 'Tower',
- 'towername' => 'Name',
- 'sectornum' => 'Sector',
- 'disabled' => 'Disabled',
+ labels => { 'towernum' => 'Tower',
+ 'towername' => 'Name',
+ 'sectornum' => 'Sector',
+ 'disabled' => 'Disabled',
+ 'default_ip_addr' => 'Tower IP address',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude (feet)',
+ 'height' => 'Tower height (feet)',
+ 'veg_height' => 'Vegetation height (feet)',
+ 'color' => 'Color',
},
&>
<%init>
my $m2_error_callback = sub { # reconstruct the list
my ($cgi, $object) = @_;
- my @fields = qw(sectorname ip_addr);
+ my @fields = qw(
+ sectorname ip_addr height freq_mhz direction width tilt v_width db_high db_low sector_range
+ );
+
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>