<%
-#<!-- $Id: cust_main.cgi,v 1.1 2001-07-30 07:36:04 ivan Exp $ -->
+#<!-- $Id: cust_main.cgi,v 1.4 2001-08-28 14:34:14 ivan Exp $ -->
use vars qw( $cgi $custnum $action $cust_main $p1 @agents $agentnum
$last $first $ss $company $address1 $address2 $city $zip
$daytime $night $fax @invoicing_list $invoicing_list $payinfo
$payname %payby %paybychecked $refnum $otaker $r );
-use vars qw ( $conf $pkgpart $username $password $popnum $ulen $ulen2 );
+use vars qw ( $conf $saved_pkgpart $username $password $popnum $ulen $ulen2 );
+use vars qw ( $error );
#use CGI::Switch;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
#get record
+$error = '';
if ( $cgi->param('error') ) {
+ $error = $cgi->param('error');
$cust_main = new FS::cust_main ( {
map { $_, scalar($cgi->param($_)) } fields('cust_main')
} );
$custnum = $cust_main->custnum;
- $pkgpart = $cgi->param('pkgpart_svcpart') || '';
- if ( $pkgpart =~ /^(\d+)_/ ) {
- $pkgpart = $1;
+ $saved_pkgpart = $cgi->param('pkgpart_svcpart') || '';
+ if ( $saved_pkgpart =~ /^(\d+)_/ ) {
+ $saved_pkgpart = $1;
} else {
- $pkgpart = '';
+ $saved_pkgpart = '';
}
$username = $cgi->param('username');
$password = $cgi->param('_password');
$query =~ /^(\d+)$/;
$custnum=$1;
$cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
- $pkgpart = 0;
+ $saved_pkgpart = 0;
$username = '';
$password = '';
$popnum = 0;
} else {
$custnum='';
$cust_main = new FS::cust_main ( {} );
- $cust_main->setfield('otaker',&getotaker);
- $pkgpart = 0;
+ $cust_main->otaker( &getotaker );
+ $cust_main->referral_custnum( $cgi->param('referral_custnum') );
+ $saved_pkgpart = 0;
$username = '';
$password = '';
$popnum = 0;
}
+$cgi->delete_all();
$action = $custnum ? 'Edit' : 'Add';
# top
$p1 = popurl(1);
print $cgi->header( '-expires' => 'now' ), header("Customer $action", '');
-print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'),
- "</FONT>"
- if $cgi->param('error');
+print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $error, "</FONT>"
+ if $error;
print qq!<FORM ACTION="${p1}process/cust_main.cgi" METHOD=POST NAME="form1">!,
qq!<INPUT TYPE="hidden" NAME="custnum" VALUE="$custnum">!,
}
}
+#referring customer
+
+print qq!<BR><BR>Referring Customer: !;
+if ( $cust_main->referral_custnum ) {
+ my $referring_cust_main =
+ qsearchs('cust_main', { custnum => $cust_main->referral_custnum } );
+ print '<A HREF="'. popurl(1). '/cust_main.cgi?'.
+ $cust_main->referral_custnum. '">'.
+ $cust_main->referral_custnum. ': '.
+ ( $referring_cust_main->company
+ || $referring_cust_main->last. ', '. $referring_cust_main->first ).
+ '</A><INPUT TYPE="hidden" NAME="referral_custnum" VALUE="'.
+ $cust_main->referral_custnum. '">';
+} else {
+ print '(none)<INPUT TYPE="hidden" NAME="referral_custnum" VALUE="">';
+}
# contact info
END
print '<BR>Service address ',
- '(<INPUT TYPE="checkbox" NAME="same" onClick="samechanged(this)"';
+ '(<INPUT TYPE="checkbox" NAME="same" VALUE="Y" onClick="samechanged(this)"';
unless ( $cust_main->ship_last ) {
print ' CHECKED';
foreach (
print "</TR></TABLE>$r required fields for each billing type";
+if ( defined $cust_main->dbdef_table->column('comments') ) {
+ print "<BR><BR>Comments", &itable("#cccccc"),
+ qq!<TR><TD><TEXTAREA COLS=80 ROWS=5 WRAP="HARD" NAME="comments">!,
+ $cust_main->comments, "</TEXTAREA>",
+ "</TD></TR></TABLE>";
+}
+
unless ( $custnum ) {
# pry the wrong place for this logic. also pretty expensive
#use FS::part_pkg;
#false laziness, copied from FS::cust_pkg::order
my $pkgpart;
if ( scalar(@agents) == 1 ) {
- # $pkgpart->{PKGPART} is true iff $custnum may purchase $pkgpart
+ # $pkgpart->{PKGPART} is true iff $custnum may purchase PKGPART
my($agent)=qsearchs('agent',{'agentnum'=> $agentnum });
$pkgpart = $agent->pkgpart_hashref;
} else {
print qq!<OPTION VALUE="!,
# $part_pkg->pkgpart. "_". $pkgpart{ $part_pkg->pkgpart }, '"';
$part_pkg->pkgpart. "_". $part_pkg->svcpart, '"';
- print " SELECTED" if $pkgpart && ( $part_pkg->pkgpart == $pkgpart );
+ print " SELECTED" if $saved_pkgpart && ( $part_pkg->pkgpart == $saved_pkgpart );
print ">", $part_pkg->pkg, " - ", $part_pkg->comment;
}
print "</SELECT></TD></TR>";