X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fqual.cgi;h=21516542cbaf54510c38824908b688d57304f11a;hp=de076eddafed3310eeafb0f4767185b16cc57246;hb=4d5e45b24200386a7fc47f2cd69949e82e4bc9c3;hpb=4e76632c66f001a4f4d97aadc308038172eaeaa7 diff --git a/httemplate/edit/process/qual.cgi b/httemplate/edit/process/qual.cgi index de076edda..21516542c 100644 --- a/httemplate/edit/process/qual.cgi +++ b/httemplate/edit/process/qual.cgi @@ -2,7 +2,7 @@ % $cgi->param('error', $error); <% $cgi->redirect(popurl(3). 'misc/qual.html?'. $cgi->query_string ) %> %} else { -<% header('Qualification entered') %> +<& /elements/header-popup.html, 'Qualification entered' &> @@ -45,14 +45,18 @@ my $locationnum = $1; my $error = ''; my $cust_location = ''; -if ( $locationnum == -1 ) { # adding a new one +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 || $locationnum == -3 ) { # 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; + unless $locationnum == -1 || $locationnum == -3 || $locationnum > 0; $error ||= $qual->insert( 'cust_location' => $cust_location );