projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7a04769
)
make "same as billing address" checkbox sticky on errors, #940
author
Mark Wells
<mark@freeside.biz>
Mon, 4 Jun 2012 22:22:09 +0000
(15:22 -0700)
committer
Mark Wells
<mark@freeside.biz>
Mon, 4 Jun 2012 22:22:09 +0000
(15:22 -0700)
httemplate/edit/cust_main.cgi
patch
|
blob
|
history
diff --git
a/httemplate/edit/cust_main.cgi
b/httemplate/edit/cust_main.cgi
index
a30c7c1
..
ef81eba
100755
(executable)
--- a/
httemplate/edit/cust_main.cgi
+++ b/
httemplate/edit/cust_main.cgi
@@
-37,7
+37,7
@@
% }
% my $has_ship_address = '';
% if ( $cgi->param('error') ) {
% }
% 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;
% }
% } 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);
#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 $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') ) {
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)) {
# 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 );
}
$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')),
$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') );
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
$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