search services by tower/sector, #15950
[freeside.git] / httemplate / elements / select-tower_sector.html
1 % if ( ! $opt{'multiple'} ) {
2 <& /elements/select-table.html,
3     table       => 'tower_sector',
4     name_col    => 'description',
5     order_by    => 'ORDER BY towernum,sectorname',
6     empty_label => ' ',
7     @_ 
8 &>
9 % }
10 % else { # currently only multiple sectors, not towers
11 <& /elements/select-table.html,
12     table       => 'tower',
13     name_col    => 'towername',
14     id          => 'towernum',
15     field       => 'dummy_towernum',
16     onchange    => 'change_towernum(this.value);',
17     element_etc => 'STYLE="vertical-align:top"',
18 &>
19 <SELECT NAME="sectornum" ID="sectornum" MULTIPLE SIZE="6"></SELECT>
20 <SCRIPT TYPE="text/javascript">
21 var sectors_of = <% encode_json(\%sectors_of) %>;
22 var select_sectornum = document.getElementById('sectornum');
23 function change_towernum(towernum) {
24   select_sectornum.options.length = 0;
25   for (var sectornum in sectors_of[towernum]) {
26     var o = document.createElement('OPTION');
27     o.value = sectornum;
28     o.text = sectors_of[towernum][sectornum];
29     o.selected = true;
30     select_sectornum.add(o, null);
31   }
32   return;
33 }
34 change_towernum('');
35 % }
36 </SCRIPT>
37 <BR>
38 <INPUT TYPE="checkbox" VALUE="none" NAME="sectornum" CHECKED> No sector
39 <%init>
40 my %opt = @_;
41
42 my %sectors_of;
43 if ( $opt{'multiple'} ) {
44   foreach my $sector ( qsearch('tower_sector',{}) ) {
45     $sectors_of{$sector->towernum} ||= {};
46     $sectors_of{$sector->towernum}->{$sector->sectornum} = $sector->sectorname;
47     $sectors_of{''}->{$sector->sectornum} = $sector->description;
48   }
49 }
50 </%init>