X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Fcust_main.cgi;h=5671e7a2b6d6cc545ed984cd1863eef210fe3723;hb=05a8005cb5435fbdb3552af855a77934b58eac91;hp=a30c7c16531213b78f8bddeab737ffa2544c5967;hpb=01629c3c934f1f6fd2ab9de5f7638f671fd59791;p=freeside.git
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index a30c7c165..5671e7a2b 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -28,8 +28,10 @@
<& cust_main/top_misc.html, $cust_main, 'custnum' => $custnum &>
%# birthdate
-% if ( $conf->exists('cust_main-enable_birthdate')
+% if ( $conf->config('national_id-country')
+% || $conf->exists('cust_main-enable_birthdate')
% || $conf->exists('cust_main-enable_spouse_birthdate')
+% || $conf->exists('cust_main-enable_anniversary_date')
% )
% {
@@ -37,7 +39,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;
% }
@@ -51,6 +53,7 @@
<& /elements/location.html,
object => $cust_main->bill_location,
prefix => 'bill_',
+ enable_coords => 1,
&>
<& cust_main/after_bill_location.html, $cust_main &>
@@ -75,6 +78,7 @@
prefix => 'ship_',
enable_censustract => 1,
enable_district => 1,
+ enable_coords => 1,
&>
@@ -198,16 +202,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 +225,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,12 +245,13 @@ 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
$payinfo = $cust_main->payinfo; # don't mask an entered value on errors
+ $cust_main->national_id( $cgi->param('national_id1') || $cgi->param('national_id2') );
+
$prospectnum = $cgi->param('prospectnum') || '';
$pkgpart_svcpart = $cgi->param('pkgpart_svcpart') || '';
@@ -275,7 +285,8 @@ if ( $cgi->param('error') ) {
my( $query ) = $cgi->keywords;
$query =~ /^(\d+)$/;
$custnum=$1;
- $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
+ $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } )
+ or die "custnum $custnum not found";
if ( $cust_main->dbdef_table->column('paycvv')
&& length($cust_main->paycvv) ) {
my $paycvv = $cust_main->paycvv;
@@ -305,6 +316,8 @@ if ( $cgi->param('error') ) {
$stateid = '';
$payinfo = '';
+ $cgi->param('tagnum', FS::part_tag->default_tags);
+
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;
my $qual = qsearchs('qual', { 'qualnum' => $qualnum } )
@@ -343,14 +356,18 @@ if ( $cgi->param('error') ) {
my $countrydefault = $conf->config('countrydefault') || 'US';
my $statedefault = $conf->config('statedefault') || 'CA';
$cust_main->set('bill_location',
- FS::cust_location->new(
- { country => $countrydefault, state => $statedefault }
- )
+ FS::cust_location->new( {
+ country => $countrydefault,
+ state => $statedefault,
+ coord_auto => 'Y',
+ } )
);
$cust_main->set('ship_location',
- FS::cust_location->new(
- { country => $countrydefault, state => $statedefault }
- )
+ FS::cust_location->new( {
+ country => $countrydefault,
+ state => $statedefault,
+ coord_auto => 'Y',
+ } )
);
}