=item I<svcdb>__I<field> - Default or fixed value for I<field> in I<svcdb>.
-=item I<svcdb>__I<field>_flag - defines I<svcdb>__I<field> action: null, `D' for default, or `F' for fixed
+=item I<svcdb>__I<field>_flag - defines I<svcdb>__I<field> action: null, `D' for default, or `F' for fixed. For virtual fields, can also be 'X' for excluded.
TODOC: EXTRA_FIELDS_ARRAYREF
} );
my $flag = $self->getfield($svcdb.'__'.$field.'_flag');
- if ( uc($flag) =~ /^([DF])$/ ) {
+ if ( uc($flag) =~ /^([DFX])$/ ) {
$part_svc_column->setfield('columnflag', $1);
$part_svc_column->setfield('columnvalue',
$self->getfield($svcdb.'__'.$field)
} );
my $flag = $new->getfield($svcdb.'__'.$field.'_flag');
- if ( uc($flag) =~ /^([DF])$/ ) {
+ if ( uc($flag) =~ /^([DFX])$/ ) {
$part_svc_column->setfield('columnflag', $1);
$part_svc_column->setfield('columnvalue',
$new->getfield($svcdb.'__'.$field)
my @fields = eval { fields( $recref->{svcdb} ) }; #might die
return "Unknown svcdb!" unless @fields;
- ''; #no error
+ $self->SUPER::check;
}
=item part_svc_column COLUMNNAME
=cut
sub part_svc_column {
- my $self = shift;
- my $columnname = shift;
- qsearchs('part_svc_column', {
- 'svcpart' => $self->svcpart,
- 'columnname' => $columnname,
- }
+ my( $self, $columnname) = @_;
+ $self->svcpart &&
+ qsearchs('part_svc_column', {
+ 'svcpart' => $self->svcpart,
+ 'columnname' => $columnname,
+ }
) or new FS::part_svc_column {
'svcpart' => $self->svcpart,
'columnname' => $columnname,
qsearch('part_svc_column', { 'svcpart' => $self->svcpart } );
}
-=item part_export
+=item part_export [ EXPORTTYPE ]
+
+Returns all exports (see L<FS::part_export>) for this service, or, if an
+export type is specified, only returns exports of the given type.
=cut
sub part_export {
my $self = shift;
- map { qsearchs('part_export', { 'exportnum' => $_->exportnum } ) }
+ my %search;
+ $search{'exporttype'} = shift if @_;
+ map { qsearchs('part_export', { 'exportnum' => $_->exportnum, %search } ) }
qsearch('export_svc', { 'svcpart' => $self->svcpart } );
}
=back
-=head1 VERSION
-
-$Id: part_svc.pm,v 1.14 2002-09-17 09:19:06 ivan Exp $
-
=head1 BUGS
Delete is unimplemented.
The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this
should be fixed.
-all_part_svc_column and part_export methods should be documented
+all_part_svc_column method should be documented
=head1 SEE ALSO