summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorjeff <jeff>2001-08-19 15:53:36 +0000
committerjeff <jeff>2001-08-19 15:53:36 +0000
commit8a8c9386cbd3383b0134aae8e32b5995f8886fb2 (patch)
treefb0dae094afa7bbf0a3fe0e8bd24091ae6b8e69d /FS
parent8c7396531e6bf6f7c6cc4e5d19e2d381442223c5 (diff)
added user interface for svc_forward and vpopmail support
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_svc.pm12
-rw-r--r--FS/FS/svc_acct.pm21
-rw-r--r--FS/FS/svc_forward.pm5
-rw-r--r--FS/MANIFEST2
4 files changed, 35 insertions, 5 deletions
diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm
index cbc4d91..3a83679 100644
--- a/FS/FS/cust_svc.pm
+++ b/FS/FS/cust_svc.pm
@@ -10,6 +10,7 @@ use FS::part_svc;
use FS::svc_acct;
use FS::svc_acct_sm;
use FS::svc_domain;
+use FS::svc_forward;
@ISA = qw( FS::Record );
@@ -131,6 +132,15 @@ sub label {
my $svc_domain = qsearchs ( 'svc_domain', { 'svcnum' => $svc_x->domsvc } );
my $domain = $svc_domain->domain;
$tag = "$domuser\@$domain";
+ } elsif ( $svcdb eq 'svc_forward' ) {
+ my $svc_acct = qsearchs ( 'svc_acct', { 'svcnum' => $svc_x->srcsvc } );
+ $tag = $svc_acct->email . '->';
+ if ($svc_x->dstsvc) {
+ $svc_acct = qsearchs ( 'svc_acct', { 'svcnum' => $svc_x->dstsvc } );
+ $tag .= $svc_acct->email;
+ }else{
+ $tag .= $svc_x->dst;
+ }
} elsif ( $svcdb eq 'svc_domain' ) {
$tag = $svc_x->getfield('domain');
} else {
@@ -144,7 +154,7 @@ sub label {
=head1 VERSION
-$Id: cust_svc.pm,v 1.1 1999-08-04 09:03:53 ivan Exp $
+$Id: cust_svc.pm,v 1.2 2001-08-19 15:53:34 jeff Exp $
=head1 BUGS
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index 253d56c..42eb7d9 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -551,11 +551,30 @@ sub radius_check {
} grep { /^rc_/ && $self->getfield($_) } fields( $self->table );
}
+=item email
+
+Returns an email address associated with the account.
+
+=cut
+
+sub email {
+ my $self = shift;
+ my $domain;
+ my $svc_domain = qsearchs( 'svc_domain', { 'svcnum' => $self->domsvc } );
+ if ($svc_domain) {
+ $domain=$svc_domain->domain;
+ }else{
+ warn "couldn't find svc_acct.domsvc " . $self->domsvc . "!";
+ $domain="unknown";
+ }
+ return $self->username . "@" . $domain;
+}
+
=back
=head1 VERSION
-$Id: svc_acct.pm,v 1.23 2001-08-19 08:18:01 ivan Exp $
+$Id: svc_acct.pm,v 1.24 2001-08-19 15:53:34 jeff Exp $
=head1 BUGS
diff --git a/FS/FS/svc_forward.pm b/FS/FS/svc_forward.pm
index 5264a60..db9180d 100644
--- a/FS/FS/svc_forward.pm
+++ b/FS/FS/svc_forward.pm
@@ -223,9 +223,8 @@ sub check {
}
if ($recref->{dst}) {
- $recref->{dst} =~ /^(\w\.\-]+)\@(([\w\.\-]+\.)+\w+)$/
+ $recref->{dst} =~ /^([\w\.\-]+)\@(([\w\.\-]+\.)+\w+)$/
or return "Illegal dst";
- $recref->{dst} = $1;
}
''; #no error
@@ -235,7 +234,7 @@ sub check {
=head1 VERSION
-$Id: svc_forward.pm,v 1.2 2001-08-12 19:41:24 jeff Exp $
+$Id: svc_forward.pm,v 1.3 2001-08-19 15:53:35 jeff Exp $
=head1 BUGS
diff --git a/FS/MANIFEST b/FS/MANIFEST
index 15245b8..fa51b21 100644
--- a/FS/MANIFEST
+++ b/FS/MANIFEST
@@ -40,8 +40,10 @@ Makefile.PL
test.pl
README
bin/freeside-bill
+bin/freeside-email
bin/freeside-print-batch
FS/domain_record.pm
FS/prepay_credit.pm
FS/svc_www.pm
FS/CGIwrapper.pm
+FS/svc_forward.pm