%# STYLE="margin-top: 0; margin-bottom: 0">
>
-<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
+<INPUT TYPE="hidden" NAME="prospectnum" VALUE="<% $prospectnum %>">
% if ( $custnum ) {
Customer #<B><% $cust_main->display_custnum %></B> -
<% include('cust_main/first_pkg.html', $cust_main,
'pkgpart_svcpart' => $pkgpart_svcpart,
+ 'disable_empty' =>
+ scalar( $cgi->param('lock_pkgpart') =~ /^(\d+)$/ ),
#svc_acct
'username' => $username,
'password' => $password,
'popnum' => $popnum,
'saved_domsvc' => $saved_domsvc,
%svc_phone,
+ %svc_dsl,
)
%>
% }
+<INPUT TYPE="hidden" NAME="locationnum" VALUE="<% $locationnum %>">
+
<INPUT TYPE="hidden" NAME="usernum" VALUE="<% $cust_main->usernum %>">
%# cust_main/bottomfixup.js
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 = '';
if ( $cgi->param('error') ) {
$stateid = $cust_main->stateid; # don't mask an entered value on errors
$payinfo = $cust_main->payinfo; # don't mask an entered value on errors
+ $prospectnum = $cgi->param('prospectnum') || '';
+
$pkgpart_svcpart = $cgi->param('pkgpart_svcpart') || '';
+ $locationnum = $cgi->param('locationnum') || '';
+
#svc_acct
$username = $cgi->param('username');
$password = $cgi->param('_password');
$svc_phone{$_} = $cgi->param($_)
foreach qw( countrycode phonenum sip_password pin phone_name );
+ #svc_dsl (phonenum came in with svc_phone)
+ $svc_phone{$_} = $cgi->param($_)
+ foreach qw( password isp_chg isp_prev vendor_qual_id );
+
} elsif ( $cgi->keywords ) { #editing
die "access denied"
$stateid = '';
$payinfo = '';
+ if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
+ my $qualnum = $1;
+ my $qual = qsearchs('qual', { 'qualnum' => $qualnum } )
+ or die "unknown qualnum $qualnum";
+
+ my $prospect_main = $qual->cust_or_prospect;
+ $prospectnum = $prospect_main->prospectnum
+ or die "qualification not on a prospect";
+
+ $cust_main->agentnum( $prospect_main->agentnum );
+ $cust_main->company( $prospect_main->company );
+
+ #first contact? -> name
+ my @contacts = $prospect_main->contact;
+ my $contact = $contacts[0];
+ $cust_main->first( $contact->first );
+ $cust_main->set( 'last', $contact->get('last') );
+ #contact phone numbers?
+
+ #location -> address (all prospect quals have location, right?)
+ my $cust_location = $qual->cust_location;
+ $cust_location->dealternize;
+ $cust_main->$_( $cust_location->$_ )
+ foreach qw( address1 address2 city county state zip country geocode );
+
+ #locationnum -> package order
+ $locationnum = $qual->locationnum;
+
+ #pkgpart handled by lock_pkgpart below
+
+ #service telephone & vendor_qual_id -> svc_dsl
+ $svc_dsl{$_} = $qual->$_
+ foreach qw( phonenum vendor_qual_id );
+ }
+
+ if ( $cgi->param('lock_pkgpart') =~ /^(\d+)$/ ) {
+ my $pkgpart = $1;
+ my $part_pkg = qsearchs('part_pkg', { 'pkgpart' => $pkgpart } )
+ or die "unknown pkgpart $pkgpart";
+ my $svcpart = $part_pkg->svcpart;
+ $pkgpart_svcpart = $pkgpart.'_'.$svcpart;
+ }
+
}
-my $error = $cgi->param('error');
-$cgi->delete_all();
-$cgi->param('error', $error);
+my %keep = map { $_=>1 } qw( error tagnum lock_agentnum lock_pkgpart );
+$cgi->delete( grep !$keep{$_}, $cgi->param );
my $title = $custnum ? 'Edit Customer' : 'Add Customer';
$title .= ": ". $cust_main->name if $custnum;