summaryrefslogtreecommitdiff
path: root/httemplate/edit/cust_main.cgi
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2012-06-04 15:22:09 -0700
committerMark Wells <mark@freeside.biz>2012-06-04 15:22:09 -0700
commit93786ae8b97b3b11b11eff8ee5fdf78b6b53f26f (patch)
treefab95c4cce960cf71da52d002ec4edc45a5dab15 /httemplate/edit/cust_main.cgi
parent7a04769ed1ee654301b0ce01f1ccbc7aa77985cb (diff)
make "same as billing address" checkbox sticky on errors, #940
Diffstat (limited to 'httemplate/edit/cust_main.cgi')
-rwxr-xr-xhttemplate/edit/cust_main.cgi10
1 files changed, 7 insertions, 3 deletions
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index a30c7c165..ef81ebab1 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -37,7 +37,7 @@
% }
% my $has_ship_address = '';
% if ( $cgi->param('error') ) {
-% $has_ship_address = !$cgi->param('same');
+% $has_ship_address = !$same;
% } elsif ( $cust_main->custnum ) {
% $has_ship_address = $cust_main->has_ship_address;
% }
@@ -198,16 +198,18 @@ my $conf = new FS::Conf;
#get record
my($custnum, $cust_main, $ss, $stateid, $payinfo, @invoicing_list);
-my $same = '';
my $pkgpart_svcpart = ''; #first_pkg
my($username, $password, $popnum, $saved_domsvc) = ( '', '', 0, 0 ); #svc_acct
my %svc_phone = ();
my %svc_dsl = ();
my $prospectnum = '';
my $locationnum = '';
+my $same = '';
+
if ( $cgi->param('error') ) {
+ $same = ($cgi->param('same') || '') eq 'Y';
# false laziness w/ edit/process/cust_main.cgi
my %locations;
for my $pre (qw(bill ship)) {
@@ -219,6 +221,9 @@ if ( $cgi->param('error') ) {
$locations{$pre} = qsearchs('cust_location', \%hash)
|| FS::cust_location->new( \%hash );
}
+ if ( $same ) {
+ $locations{ship} = $locations{bill};
+ }
$cust_main = new FS::cust_main ( {
map { ( $_, scalar($cgi->param($_)) ) } (fields('cust_main')),
@@ -236,7 +241,6 @@ if ( $cgi->param('error') ) {
unless $curuser->access_right($custnum ? 'Edit customer' : 'New customer');
@invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') );
- $same = $cgi->param('same');
$cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid');
$ss = $cust_main->ss; # don't mask an entered value on errors
$stateid = $cust_main->stateid; # don't mask an entered value on errors