communigate provisioning phase 2: Domain:Account Defaults:Settings: RulesAllowed...
[freeside.git] / FS / FS / h_svc_forward.pm
1 package FS::h_svc_forward;
2
3 use strict;
4 use vars qw( @ISA $DEBUG );
5 use FS::Record qw(qsearchs);
6 use FS::h_Common;
7 use FS::svc_forward;
8 use FS::svc_acct;
9 use FS::h_svc_acct;
10
11 use Carp qw(carp);
12
13 $DEBUG = 0;
14
15 @ISA = qw( FS::h_Common FS::svc_forward );
16
17 sub table { 'h_svc_forward' };
18
19 =head1 NAME
20
21 FS::h_svc_forward - Historical mail forwarding alias objects
22
23 =head1 SYNOPSIS
24
25 =head1 METHODS
26
27 =over 4
28
29 =item srcsvc_acct 
30
31 =cut
32
33 sub srcsvc_acct {
34   my $self = shift;
35   my $h_svc_acct = qsearchs(
36     'h_svc_acct',
37     { 'svcnum' => $self->srcsvc },
38     FS::h_svc_acct->sql_h_searchs(@_),
39   ) || $self->SUPER::srcsvc_acct
40     or die "no history svc_acct.svcnum for svc_forward.srcsvc ". $self->srcsvc;
41
42   carp 'Using svc_acct in place of missing h_svc_acct record.'
43     if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
44
45   return $h_svc_acct;
46
47 }
48
49 =item dstsvc_acct
50
51 =cut
52
53 sub dstsvc_acct {
54   my $self = shift;
55   my $h_svc_acct = qsearchs(
56     'h_svc_acct',
57     { 'svcnum' => $self->dstsvc },
58     FS::h_svc_acct->sql_h_searchs(@_),
59   ) || $self->SUPER::dstsvc_acct
60     or die "no history svc_acct.svcnum for svc_forward.dstsvc ". $self->dstsvc;
61
62   carp 'Using svc_acct in place of missing h_svc_acct record.'
63     if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
64
65   return $h_svc_acct;
66 }
67
68 =back
69
70 =head1 DESCRIPTION
71
72 An FS::h_svc_forward object represents a historical mail forwarding alias.
73 FS::h_svc_forward inherits from FS::h_Common and FS::svc_forward.
74
75 =head1 BUGS
76
77 =head1 SEE ALSO
78
79 L<FS::h_Common>, L<FS::svc_forward>, L<FS::Record>, schema.html from the base
80 documentation.
81
82 =cut
83
84 1;
85