1 % if ( ! $opt{'multiple'} ) {
2 <& /elements/select-table.html,
3 table => 'tower_sector',
4 name_col => 'description',
5 order_by => 'ORDER BY towernum,sectorname',
10 % else { # currently only multiple sectors, not towers
11 <& /elements/select-table.html,
13 name_col => 'towername',
14 hashref => { 'disabled' => '', },
17 onchange => 'change_towernum(this.value);',
18 element_etc => 'STYLE="vertical-align:top"',
20 <SELECT NAME="sectornum" ID="sectornum" MULTIPLE SIZE="6"></SELECT>
21 <SCRIPT TYPE="text/javascript">
22 var sectors_of = <% encode_json(\%sectors_of) %>;
23 var select_sectornum = document.getElementById('sectornum');
24 function change_towernum(towernum) {
25 select_sectornum.options.length = 0;
26 for (var sectornum in sectors_of[towernum]) {
27 var o = document.createElement('OPTION');
29 o.text = sectors_of[towernum][sectornum];
31 select_sectornum.add(o, null);
38 <INPUT TYPE="checkbox" VALUE="none" NAME="sectornum" CHECKED> <% $empty_label %>
45 if ( $opt{'multiple'} ) {
46 foreach my $sector ( qsearch('tower_sector',{}) ) {
47 $sectors_of{$sector->towernum} ||= {};
48 $sectors_of{$sector->towernum}->{$sector->sectornum} = $sector->sectorname;
49 $sectors_of{''}->{$sector->sectornum} = $sector->description;
50 $default_of{$sector->towernum} = $sector->sectornum
51 if $sector->sectorname eq '_default';
54 foreach my $towernum (keys %sectors_of) {
55 # hide default sectors for towers that have real sectors defined
56 my $sectornum = $default_of{$towernum};
57 if ( keys %{ $sectors_of{$towernum} } > 1 ) {
58 delete $sectors_of{$towernum}->{$sectornum};
59 delete $sectors_of{''}->{$sectornum};
62 # show default sectorname as '(all)'
63 $sectors_of{$towernum}->{$sectornum} = '(all)'
67 my $empty_label = $opt{'empty_label'} || 'Include services with no sector';