X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Ftower.html;h=f2faa5a9a18f6944a25af4af5124f4a67fcaeec3;hp=5a0f2a8ce7cd6facdc1117eb03cad88cf4e3a351;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=c81adbf7bbaa537b650f39bb76ce0b7b8c069450 diff --git a/httemplate/edit/tower.html b/httemplate/edit/tower.html index 5a0f2a8ce..f2faa5a9a 100644 --- a/httemplate/edit/tower.html +++ b/httemplate/edit/tower.html @@ -2,22 +2,43 @@ name_singular => 'tower', table => 'tower', viewall_dir => 'browse', + html_init => include('/elements/mapselect.html'), fields => [ 'towername', { field=>'disabled', type=>'checkbox', value=>'Y', }, - { field => 'default_ip_addr', + { field=>'color', type=>'pickcolor' }, + { 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', + 'altitude', + 'height', + 'veg_height', + 'up_rate_limit', + 'down_rate_limit', +# { 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', + 'up_rate_limit' => 'Up Rate Limit(Kbps)', + 'down_rate_limit' => 'Down Rate Limit(Kbps)', }, &> <%init> @@ -25,16 +46,24 @@ my $m2_error_callback = sub { # reconstruct the list my ($cgi, $object) = @_; - 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); + my @fields = qw( + sectorname ip_addr height freq_mhz direction width tilt v_width db_high db_low sector_range up_rate_limit down_rate_limit + ); + + my @sectors; + foreach my $k ($cgi->param) { + if ($k =~ /^sectornum\d+$/) { + my $sectornum = $cgi->param($k); + my $sector = FS::tower_sector->new({ + 'sectornum' => $sectornum, + 'towernum' => $object->towernum, + map { $_ => scalar($cgi->param($k.'_'.$_)) } @fields, + }); + push @sectors, $sector if length($sector->sectorname) && $sector->sectorname ne '_default'; + } + } + + return @sectors; }; my $default_ip_addr_callback = sub {