diff options
Diffstat (limited to 'FS/FS/svc_Parent_Mixin.pm')
-rw-r--r-- | FS/FS/svc_Parent_Mixin.pm | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/FS/FS/svc_Parent_Mixin.pm b/FS/FS/svc_Parent_Mixin.pm deleted file mode 100644 index 4501baf..0000000 --- a/FS/FS/svc_Parent_Mixin.pm +++ /dev/null @@ -1,103 +0,0 @@ -package FS::svc_Parent_Mixin; - -use strict; -use NEXT; -use FS::Record qw(qsearch qsearchs); -use FS::cust_svc; - -=head1 NAME - -FS::svc_Parent_Mixin - Mixin class for svc_ classes with a parent_svcnum field - -=head1 SYNOPSIS - -package FS::svc_table; -use vars qw(@ISA); -@ISA = qw( FS::svc_Parent_Mixin FS::svc_Common ); - -=head1 DESCRIPTION - -This is a mixin class for svc_ classes that contain a parent_svcnum field. - -=cut - -=head1 METHODS - -=over 4 - -=item parent_cust_svc - -Returns the parent FS::cust_svc object. - -=cut - -sub parent_cust_svc { - my $self = shift; - qsearchs('cust_svc', { 'svcnum' => $self->parent_svcnum } ); -} - -=item parent_svc_x - -Returns the corresponding parent FS::svc_ object. - -=cut - -sub parent_svc_x { - my $self = shift; - $self->parent_cust_svc->svc_x; -} - -=item children_cust_svc - -Returns a list of any child FS::cust_svc objects. - -Note: This is not recursive; it only returns direct children. - -=cut - -sub children_cust_svc { - my $self = shift; - qsearch('cust_svc', { 'parent_svcnum' => $self->svcnum } ); -} - -=item children_svc_x - -Returns the corresponding list of child FS::svc_ objects. - -=cut - -sub children_svc_x { - my $self = shift; - map { $_->svc_x } $self->children_cust_svc; -} - -=item check - -This class provides a check subroutine which takes care of checking the -parent_svcnum field. The svc_ class which uses it will call SUPER::check at -the end of its own checks, and this class will call NEXT::check to pass -the check "up the chain" (see L<NEXT>). - -=cut - -sub check { - my $self = shift; - - $self->ut_foreign_keyn('parent_svcnum', 'cust_svc', 'svcnum') - || $self->NEXT::check; - -} - -=back - -=head1 BUGS - -Do we need a recursive child finder for multi-layered children? - -=head1 SEE ALSO - -L<FS::svc_Common>, L<FS::Record> - -=cut - -1; |