7f6a5cca85929cbcbf02034f76590f0fedb16b69
[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
36   local($FS::Record::qsearch_qualify_columns) = 0;
37
38   my $h_svc_acct = qsearchs(
39     'h_svc_acct',
40     { 'svcnum' => $self->srcsvc },
41     FS::h_svc_acct->sql_h_searchs(@_),
42   ) || $self->SUPER::srcsvc_acct
43     or die "no history svc_acct.svcnum for svc_forward.srcsvc ". $self->srcsvc;
44
45   carp 'Using svc_acct in place of missing h_svc_acct record.'
46     if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
47
48   return $h_svc_acct;
49
50 }
51
52 =item dstsvc_acct
53
54 =cut
55
56 sub dstsvc_acct {
57   my $self = shift;
58
59   local($FS::Record::qsearch_qualify_columns) = 0;
60
61   my $h_svc_acct = qsearchs(
62     'h_svc_acct',
63     { 'svcnum' => $self->dstsvc },
64     FS::h_svc_acct->sql_h_searchs(@_),
65   ) || $self->SUPER::dstsvc_acct
66     or die "no history svc_acct.svcnum for svc_forward.dstsvc ". $self->dstsvc;
67
68   carp 'Using svc_acct in place of missing h_svc_acct record.'
69     if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
70
71   return $h_svc_acct;
72 }
73
74 =back
75
76 =head1 DESCRIPTION
77
78 An FS::h_svc_forward object represents a historical mail forwarding alias.
79 FS::h_svc_forward inherits from FS::h_Common and FS::svc_forward.
80
81 =head1 BUGS
82
83 =head1 SEE ALSO
84
85 L<FS::h_Common>, L<FS::svc_forward>, L<FS::Record>, schema.html from the base
86 documentation.
87
88 =cut
89
90 1;
91