use FS::part_export;
use FS::export_svc;
use FS::cust_svc;
+use FS::part_svc_class;
@ISA = qw(FS::Record);
=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 disabled - Disabled flag, empty or `Y'
=item preserve - Preserve after cancellation, empty or 'Y'
|| $self->ut_enum('disabled', [ '', 'Y' ] )
|| $self->ut_enum('preserve', [ '', 'Y' ] )
|| $self->ut_enum('selfservice_access', [ '', 'hidden', 'readonly' ] )
+ || $self->ut_foreign_keyn('classnum', 'part_svc_class', 'classnum' )
;
return $error if $error;
my $self = shift;
my %search;
$search{'exporttype'} = shift if @_;
- sort { $a->weight <=> $b->weight }
- map { qsearchs('part_export', { 'exportnum' => $_->exportnum, %search } ) }
- qsearch('export_svc', { 'svcpart' => $self->svcpart } );
+ map { $_ } #behavior of sort undefined in scalar context
+ sort { $a->weight <=> $b->weight }
+ map { qsearchs('part_export', { 'exportnum'=>$_->exportnum, %search } ) }
+ qsearch('export_svc', { 'svcpart'=>$self->svcpart } );
}
=item part_export_usage
};
my $mod = $1;
- if ( $mod =~ /^svc_[A-Z]/ or $mod =~ /^svc_acct_pop$/ ) {
+ if ( $mod =~ /^svc_[A-Z]/ or $mod =~ /^(svc_acct_pop|svc_export_machine)$/ ) {
warn "skipping FS::$mod" if $DEBUG;
next;
}