X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fqual.cgi;h=a702047c5ba8c7d9f6030fc3f533c3b185a5e9cf;hb=528e7e1cb1a6d05f87847bf9fd9b7e0e9fc33f6f;hp=de076eddafed3310eeafb0f4767185b16cc57246;hpb=4e76632c66f001a4f4d97aadc308038172eaeaa7;p=freeside.git diff --git a/httemplate/edit/process/qual.cgi b/httemplate/edit/process/qual.cgi index de076edda..a702047c5 100644 --- a/httemplate/edit/process/qual.cgi +++ b/httemplate/edit/process/qual.cgi @@ -45,14 +45,18 @@ my $locationnum = $1; my $error = ''; my $cust_location = ''; +my %location_hash = ( + map { $_ => scalar($cgi->param($_)) } + qw( address1 address2 city county state zip country geocode ), + grep scalar($cgi->param($_)), + qw( location_type location_number location_kind ) +); + if ( $locationnum == -1 ) { # adding a new one $cust_location = new FS::cust_location { $cust_or_prospect."num" => $custnum_or_prospectnum, - map { $_ => scalar($cgi->param($_)) } - qw( address1 address2 city county state zip country geocode ), - grep scalar($cgi->param($_)), - qw( location_type location_number location_kind ) + %location_hash, }; #locationnum '': default service location @@ -62,15 +66,21 @@ if ( $locationnum == -1 ) { # adding a new one #locationnum -2: address not required for qual } elsif ( $locationnum == -2 && $phonenum eq '' ) { $error = "Nothing to qualify - neither phone number nor address specified"; + +} else { #existing location, possibly with an edit + $cust_location = qsearchs('cust_location', { 'locationnum'=>$locationnum }) + or die "Unknown locationnum $locationnum"; + $cust_location->$_($location_hash{$_}) foreach keys %location_hash; } my $qual = new FS::qual { 'status' => 'N', }; -$qual->phonenum($phonenum) if $phonenum ne ''; +$qual->phonenum($phonenum) if $phonenum ne ''; +#$qual->locationnum($locationnum) if $locationnum > 0; +$qual->exportnum($exportnum) if $exportnum > 0; $qual->set( $cust_or_prospect."num" => $custnum_or_prospectnum ) unless $locationnum == -1 || $locationnum > 0; -$qual->exportnum($exportnum) if $exportnum > 0; $error ||= $qual->insert( 'cust_location' => $cust_location );