X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_svc.pm;h=cd0577407849c594fed14893606c1e84ad284c6c;hb=efccaa2d081bfcaaddcf9d89da3c2a065b4caafb;hp=63bc2ad1c6846a1e567ed1d4d48b7ef3100d944e;hpb=c0567c688084e89fcd11bf82348b6c418f1254ac;p=freeside.git diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index 63bc2ad1c..cd0577407 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -6,6 +6,7 @@ use FS::Record qw( qsearch qsearchs fields dbh ); use FS::part_svc_column; use FS::part_export; use FS::export_svc; +use FS::cust_svc; @ISA = qw(FS::Record); @@ -68,7 +69,7 @@ TODOC: =item I__I - Default or fixed value for I in I. -=item I__I_flag - defines I__I action: null, `D' for default, or `F' for fixed +=item I__I_flag - defines I__I action: null, `D' for default, or `F' for fixed. For virtual fields, can also be 'X' for excluded. TODOC: EXTRA_FIELDS_ARRAYREF @@ -113,7 +114,7 @@ sub insert { } ); 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) @@ -201,7 +202,7 @@ sub replace { } ); 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) @@ -254,7 +255,7 @@ sub check { my @fields = eval { fields( $recref->{svcdb} ) }; #might die return "Unknown svcdb!" unless @fields; - ''; #no error + $self->SUPER::check; } =item part_svc_column COLUMNNAME @@ -301,6 +302,28 @@ sub part_export { qsearch('export_svc', { 'svcpart' => $self->svcpart } ); } +=item cust_svc + +Returns a list of associated FS::cust_svc records. + +=cut + +sub cust_svc { + my $self = shift; + qsearch('cust_svc', { 'svcpart' => $self->svcpart } ); +} + +=item svc_x + +Returns a list of associated FS::svc_* records. + +=cut + +sub svc_x { + my $self = shift; + map { $_->svc_x } $self->cust_svc; +} + =back =head1 BUGS