diff options
-rw-r--r-- | FS/FS/part_export/saisei.pm | 5 | ||||
-rw-r--r-- | FS/FS/part_svc.pm | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/FS/FS/part_export/saisei.pm b/FS/FS/part_export/saisei.pm index 61aa12d..9646879 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 a565ee4..d68a461 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, |