diff options
author | mark <mark> | 2012-02-10 01:58:08 +0000 |
---|---|---|
committer | mark <mark> | 2012-02-10 01:58:08 +0000 |
commit | c81adbf7bbaa537b650f39bb76ce0b7b8c069450 (patch) | |
tree | cf717f829697f1827b555922734e50d5e5c3ccb8 /httemplate | |
parent | 8e4c66cfb8aaf0aee2d1142636e53d0e17d11d4f (diff) |
allow towers without sectors, #16398 continued
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/browse/tower.html | 4 | ||||
-rw-r--r-- | httemplate/edit/tower.html | 9 | ||||
-rw-r--r-- | httemplate/elements/select-tower_sector.html | 16 |
3 files changed, 28 insertions, 1 deletions
diff --git a/httemplate/browse/tower.html b/httemplate/browse/tower.html index 82eb872b1..7767a3c36 100644 --- a/httemplate/browse/tower.html +++ b/httemplate/browse/tower.html @@ -51,7 +51,9 @@ my $num_svc_links = sub { my $tower_sub = sub { my $tower = shift; - my $sectors = join(',', map { $_->sectornum } $tower->tower_sector); + my $sectors = join(',', + map { $_->sectornum } $tower->tower_sector, $tower->default_sector + ); [ #rows [ { 'data' => $tower->towername, }, diff --git a/httemplate/edit/tower.html b/httemplate/edit/tower.html index c27d9d255..5a0f2a8ce 100644 --- a/httemplate/edit/tower.html +++ b/httemplate/edit/tower.html @@ -4,6 +4,8 @@ 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', @@ -15,6 +17,7 @@ 'towername' => 'Name', 'sectornum' => 'Sector', 'disabled' => 'Disabled', + 'default_ip_addr' => 'Tower IP address', }, &> <%init> @@ -34,4 +37,10 @@ my $m2_error_callback = sub { # reconstruct the list } 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> diff --git a/httemplate/elements/select-tower_sector.html b/httemplate/elements/select-tower_sector.html index c783c4b57..a16d3bfa0 100644 --- a/httemplate/elements/select-tower_sector.html +++ b/httemplate/elements/select-tower_sector.html @@ -40,12 +40,28 @@ change_towernum(''); my %opt = @_; my %sectors_of; +my %default_of; if ( $opt{'multiple'} ) { foreach my $sector ( qsearch('tower_sector',{}) ) { $sectors_of{$sector->towernum} ||= {}; $sectors_of{$sector->towernum}->{$sector->sectornum} = $sector->sectorname; $sectors_of{''}->{$sector->sectornum} = $sector->description; + $default_of{$sector->towernum} = $sector->sectornum + if $sector->sectorname eq '_default'; } } +foreach my $towernum (keys %sectors_of) { + # hide default sectors for towers that have real sectors defined + my $sectornum = $default_of{$towernum}; + if ( keys %{ $sectors_of{$towernum} } > 1 ) { + delete $sectors_of{$towernum}->{$sectornum}; + delete $sectors_of{''}->{$sectornum}; + } + else { + # show default sectorname as '(all)' + $sectors_of{$towernum}->{$sectornum} = '(all)' + } +} + my $empty_label = $opt{'empty_label'} || 'Include services with no tower/sector'; </%init> |