allow towers without sectors, #16398 continued
[freeside.git] / httemplate / elements / select-tower_sector.html
index c783c4b..a16d3bf 100644 (file)
@@ -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>