summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Burger <burgerc@freeside.biz>2019-05-01 12:06:18 -0400
committerChristopher Burger <burgerc@freeside.biz>2019-05-01 12:27:34 -0400
commit8625448a29bb6c05a4142b8261341c171fb30fb1 (patch)
tree39346796253156ca0986fb3825905b40de8ee264
parentc3a47e83c91dfa09252c46f142d52d79c82c3fa7 (diff)
RT# 83205 - fixed error with fields being sticky on error
-rw-r--r--httemplate/edit/tower.html24
1 files changed, 14 insertions, 10 deletions
diff --git a/httemplate/edit/tower.html b/httemplate/edit/tower.html
index b9fea779f..93b7235b7 100644
--- a/httemplate/edit/tower.html
+++ b/httemplate/edit/tower.html
@@ -46,16 +46,20 @@ my $m2_error_callback = sub { # reconstruct the list
sector_range up_rate_limit down_rate_limit
);
- map {
- my $k = $_;
- new FS::tower_sector {
- 'towernum' => $object->towernum,
- 'sectornum' => scalar( $cgi->param($k) ),
- map { $_ => scalar( $cgi->param($k.'_'.$_) ) } @fields,
- };
- } grep length($cgi->param($_.'_sectorname')),
- grep /^sectornum\d+$/,
- ($cgi->param);
+ my @sectors;
+ foreach my $k ($cgi->param) {
+ if ($k =~ /^sectornum\d+$/) {
+ my $sectornum = $cgi->param($k);
+ my $sector = FS::tower_sector->new({
+ 'sectornum' => $sectornum,
+ 'towernum' => $object->towernum,
+ map { $_ => scalar($cgi->param($k.'_'.$_)) } @fields,
+ });
+ push @sectors, $sector if length($sector->sectorname) && $sector->sectorname ne '_default';
+ }
+ }
+
+ return @sectors;
};
my $default_ip_addr_callback = sub {