[freeside-commits] branch master updated. 852f0115eef0a9013ffb6ff59eb9b569625d90f1
Mark Wells
mark at 420.am
Fri Apr 27 11:52:07 PDT 2012
The branch, master has been updated
via 852f0115eef0a9013ffb6ff59eb9b569625d90f1 (commit)
from 300cbdd515dca2beceaec7d1df040008f93d635d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 852f0115eef0a9013ffb6ff59eb9b569625d90f1
Author: Mark Wells <mark at freeside.biz>
Date: Fri Apr 27 11:52:02 2012 -0700
don't change service address when selfservice changes billing address, #14613
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index e9394e4..08e3f7e 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -570,6 +570,12 @@ sub edit_info {
or return { 'error' => "unknown custnum $custnum" };
my $new = new FS::cust_main { $cust_main->hash };
+ # Avoid accidentally changing the service address.
+ if ( !$new->has_ship_address ) {
+ $new->set( $_ => $new->get($_) )
+ foreach $new->addr_fields;
+ }
+
$new->set( $_ => $p->{$_} )
foreach grep { exists $p->{$_} } @cust_main_editable_fields;
@@ -927,9 +933,17 @@ sub do_process_payment {
my $new = new FS::cust_main { $cust_main->hash };
if ($payby eq 'CARD' || $payby eq 'DCRD') {
$new->set( $_ => $validate->{$_} )
- foreach qw( payname paystart_month paystart_year payissue payip
- address1 address2 city state zip country );
+ foreach qw( payname paystart_month paystart_year payissue payip );
$new->set( 'payby' => $validate->{'auto'} ? 'CARD' : 'DCRD' );
+
+ # Avoid accidentally changing the service address.
+ if ( !$new->has_ship_address ) {
+ $new->set( "ship_$_" => $new->get($_) )
+ foreach $new->addr_fields;
+ }
+ $new->set( $_ => $validate->{$_} )
+ foreach qw(address1 address2 city state country zip);
+
} elsif ($payby eq 'CHEK' || $payby eq 'DCHK') {
$new->set( $_ => $validate->{$_} )
foreach qw( payname payip paytype paystate
-----------------------------------------------------------------------
Summary of changes:
FS/FS/ClientAPI/MyAccount.pm | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
More information about the freeside-commits
mailing list