[freeside-commits] freeside/FS/FS/part_export
forward_shellcommands.pm, 1.7, 1.8
Ivan,,,
ivan at wavetail.420.am
Sat Aug 6 17:41:25 PDT 2005
Update of /home/cvs/cvsroot/freeside/FS/FS/part_export
In directory wavetail:/tmp/cvs-serv11378
Modified Files:
forward_shellcommands.pm
Log Message:
update forward_shellcommands export to know about literal source addresses, closes: Bug#1246
Index: forward_shellcommands.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_export/forward_shellcommands.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- forward_shellcommands.pm 3 Aug 2005 02:23:22 -0000 1.7
+++ forward_shellcommands.pm 7 Aug 2005 00:41:23 -0000 1.8
@@ -45,8 +45,9 @@
The following variables are available for interpolation (prefixed with
<code>new_</code> or <code>old_</code> for replace operations):
<UL>
- <LI><code>$username</code>
- <LI><code>$domain</code>
+ <LI><code>$username</code> - username of forward source
+ <LI><code>$domain</code> - domain of forward source
+ <LI><code>$source</code> - forward source ($username@$domain)
<LI><code>$destination</code> - forward destination
<LI>All other fields in <a href="../docs/schema.html#svc_forward">svc_forward</a> are also available.
</UL>
@@ -77,10 +78,17 @@
${$_} = $svc_forward->getfield($_) foreach $svc_forward->fields;
}
- my $svc_acct = $svc_forward->srcsvc_acct;
- $username = $svc_acct->username;
- $domain = $svc_acct->domain;
- if ($svc_forward->dstsvc_acct) {
+ if ( $svc_forward->srcsvc ) {
+ my $srcsvc_acct = $svc_forward->srcsvc_acct;
+ $username = $srcsvc_acct->username;
+ $domain = $srcsvc_acct->domain;
+ $source = $srcsvc_acct->email;
+ } else {
+ $source = $svc_forward->src;
+ ( $username, $domain ) = split(/\@/, $source);
+ }
+
+ if ($svc_forward->dstsvc) {
$destination = $svc_forward->dstsvc_acct->email;
} else {
$destination = $svc_forward->dst;
@@ -107,19 +115,33 @@
${"new_$_"} = $new->getfield($_) foreach $new->fields;
}
- my $old_svc_acct = $old->srcsvc_acct;
- $old_username = $old_svc_acct->username;
- $old_domain = $old_svc_acct->domain;
- if ($old->dstsvc_acct) {
+ if ( $old->srcsvc ) {
+ my $srcsvc_acct = $old->srcsvc_acct;
+ $old_username = $srcsvc_acct->username;
+ $old_domain = $srcsvc_acct->domain;
+ $old_source = $srcsvc_acct->email;
+ } else {
+ $old_source = $old->src;
+ ( $old_username, $old_domain ) = split(/\@/, $old_source);
+ }
+
+ if ( $old->dstsvc ) {
$old_destination = $old->dstsvc_acct->email;
} else {
$old_destination = $old->dst;
}
- my $new_svc_acct = $new->srcsvc_acct;
- $new_username = $new_svc_acct->username;
- $new_domain = $new_svc_acct->domain;
- if ($new->dstsvc) {
+ if ( $new->srcsvc ) {
+ my $srcsvc_acct = $new->srcsvc_acct;
+ $new_username = $srcsvc_acct->username;
+ $new_domain = $srcsvc_acct->domain;
+ $new_source = $srcsvc_acct->email;
+ } else {
+ $new_source = $new->src;
+ ( $new_username, $new_domain ) = split(/\@/, $new_source);
+ }
+
+ if ( $new->dstsvc ) {
$new_destination = $new->dstsvc_acct->email;
} else {
$new_destination = $new->dst;
More information about the freeside-commits
mailing list