summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authormark <mark>2012-02-10 01:58:08 +0000
committermark <mark>2012-02-10 01:58:08 +0000
commitc81adbf7bbaa537b650f39bb76ce0b7b8c069450 (patch)
treecf717f829697f1827b555922734e50d5e5c3ccb8 /httemplate
parent8e4c66cfb8aaf0aee2d1142636e53d0e17d11d4f (diff)
allow towers without sectors, #16398 continued
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/browse/tower.html4
-rw-r--r--httemplate/edit/tower.html9
-rw-r--r--httemplate/elements/select-tower_sector.html16
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>