X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fselect-tower_sector.html;h=a16d3bfa005279ee0e41558e1fcd7cc89b5bc66b;hb=c81adbf7bbaa537b650f39bb76ce0b7b8c069450;hp=a64d88608353e7552efbd07de7c15bdcd50632bc;hpb=e6f7e02b32ebaa471230819d36a88f88b98bed6a;p=freeside.git diff --git a/httemplate/elements/select-tower_sector.html b/httemplate/elements/select-tower_sector.html index a64d88608..a16d3bfa0 100644 --- a/httemplate/elements/select-tower_sector.html +++ b/httemplate/elements/select-tower_sector.html @@ -1,3 +1,4 @@ +% if ( ! $opt{'multiple'} ) { <& /elements/select-table.html, table => 'tower_sector', name_col => 'description', @@ -5,3 +6,62 @@ empty_label => ' ', @_ &> +% } +% else { # currently only multiple sectors, not towers +<& /elements/select-table.html, + table => 'tower', + name_col => 'towername', + id => 'towernum', + field => 'dummy_towernum', + onchange => 'change_towernum(this.value);', + element_etc => 'STYLE="vertical-align:top"', +&> + + +
+ <% $empty_label %> +% } +<%init> +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'; +