From 93786ae8b97b3b11b11eff8ee5fdf78b6b53f26f Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Mon, 4 Jun 2012 15:22:09 -0700 Subject: [PATCH] make "same as billing address" checkbox sticky on errors, #940 --- httemplate/edit/cust_main.cgi | 10 +++++++--- 1 file 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 -- 2.11.0