summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/part_export/saisei.pm21
-rw-r--r--httemplate/edit/process/tower.html31
2 files changed, 52 insertions, 0 deletions
diff --git a/FS/FS/part_export/saisei.pm b/FS/FS/part_export/saisei.pm
index 92b18e431..8376c7e2e 100644
--- a/FS/FS/part_export/saisei.pm
+++ b/FS/FS/part_export/saisei.pm
@@ -890,6 +890,27 @@ sub require_tower_and_sector {
1;
}
+=head2 tower_sector_required_fields
+
+required fields needed for tower and sector export.
+
+=cut
+
+sub tower_sector_required_fields {
+ my $fields = {
+ 'tower' => {
+ 'up_rate_limit' => '1',
+ 'down_rate_limit' => '1',
+ },
+ 'sector' => {
+ 'up_rate_limit' => '1',
+ 'down_rate_limit' => '1',
+ 'ip_addr' => '1',
+ },
+ };
+ return $fields;
+}
+
sub required_fields {
my @fields = ('svc_broadband__ip_addr_required', 'svc_broadband__speed_up_required', 'svc_broadband__speed_down_required', 'svc_broadband__sectornum_required');
return @fields;
diff --git a/httemplate/edit/process/tower.html b/httemplate/edit/process/tower.html
index 8f62c4bec..fefa31475 100644
--- a/httemplate/edit/process/tower.html
+++ b/httemplate/edit/process/tower.html
@@ -9,4 +9,35 @@
sector_range up_rate_limit down_rate_limit
)],
},
+ 'precheck_callback' => sub {
+ my ($cgi) = @_;
+ my @required_tower_fields;
+ my @required_sector_fields;
+
+ foreach my $part_svc_broadband_export ( FS::tower_sector->part_export_svc_broadband ) {
+ if ($part_svc_broadband_export and $part_svc_broadband_export->can('tower_sector_required_fields')) {
+ my $required_fields = $part_svc_broadband_export->tower_sector_required_fields;
+ foreach (keys %$required_fields) {
+ my $fields = $required_fields->{$_};
+ push @required_tower_fields, keys(%$fields) if $_ eq "tower";
+ push @required_sector_fields, keys(%$fields) if $_ eq "sector";
+ }
+ }
+ }
+
+ foreach (@required_tower_fields){
+ return "The tower $_ field is required" unless $cgi->param($_);
+ }
+
+ foreach (@required_sector_fields){
+ foreach my $k ($cgi->param) {
+ if ($k =~ /^sectornum\d+$/) {
+ if ( $cgi->param($k.'_sectorname') ) {
+ return "The sector(".$cgi->param($k.'_sectorname').") $_ field is required" unless $cgi->param($k.'_'.$_);
+ }
+ }
+ }
+ }
+ '';
+ },
&>