From: Christopher Burger Date: Wed, 24 Apr 2019 14:26:01 +0000 (-0400) Subject: RT# 83203 - made Tower/Sector, speed_up, speed_down required X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=4ca469474d2f143a30eec6cdd7927fd2a167eed1 RT# 83203 - made Tower/Sector, speed_up, speed_down required --- diff --git a/FS/FS/part_export/saisei.pm b/FS/FS/part_export/saisei.pm index 61aa12d2b..9646879a8 100644 --- a/FS/FS/part_export/saisei.pm +++ b/FS/FS/part_export/saisei.pm @@ -880,6 +880,11 @@ sub require_tower_and_sector { 1; } +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; +} + sub process_virtual_ap { my ($self, $opt) = @_; diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index a565ee45b..d68a46181 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -903,6 +903,18 @@ sub process { $exportnums{$exportnum} = $role; } } + + ## make sure export required fields are marked required. + my @required_fields; + foreach (keys %exportnums) { + my $export = qsearchs('part_export', { 'exportnum' => $_ }) + if $exportnums{$_}; + if ($export) { + push @required_fields, $export->required_fields if $export->can('required_fields'); + } + } + foreach (@required_fields) { $new->set($_, 'Y'); } + my $error; if ( $param->{'svcpart'} ) { $error = $new->replace( $old,