=item svcdb - table used for this service. See L<FS::svc_acct>,
L<FS::svc_domain>, and L<FS::svc_forward>, among others.
-=item classnum - Optional service class (see L<FS::svc_class>)
+=item classnum - Optional service class (see L<FS::part_svc_class>)
=item disabled - Disabled flag, empty or `Y'
warn "skipping disabled service FS::$mod" if $DEBUG;
next;
}
+
+ foreach ("FS::$mod"->virtual_fields_hash) {
+ $info->{'fields'}->{$_->{'name'}} = $_->{'label'};
+ }
+
$info{$mod} = $info;
# all svc_* modules are required to have h_svc_* modules for invoice
$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,