-<& /elements/header.html,
- $title,
- '',
- ' onUnload="myclose()"' #hmm, in billing.html
-&>
+<& /elements/header.html, $title, &>
<& /elements/error.html &>
% if ( $custnum ) {
<% mt('Customer #') |h %><B><% $cust_main->display_custnum %></B> -
<B><FONT COLOR="#<% $cust_main->statuscolor %>">
- <% ucfirst($cust_main->status) %>
+ <% $cust_main->status_label %>
</FONT></B>
<BR><BR>
% }
%# agent, agent_custid, refnum (advertising source), referral_custnum
%# better section title for this?
<FONT CLASS="fsinnerbox-title"><% mt('Basics') |h %></FONT>
-<& cust_main/top_misc.html, $cust_main, 'custnum' => $custnum &>
+<& cust_main/basics.html, $cust_main, 'custnum' => $custnum &>
%# 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')
% )
% {
% }
<BR>
<TABLE> <TR>
- <TD STYLE="width:650px">
+ <TD>
%#; padding-right:2px; vertical-align:top">
<FONT CLASS="fsinnerbox-title"><% mt('Billing address') |h %></FONT>
<TABLE CLASS="fsinnerbox" WIDTH="100%">
<& /elements/location.html,
object => $cust_main->bill_location,
prefix => 'bill_',
+ enable_censustract => 1,
+ enable_district => 1,
enable_coords => 1,
&>
<& cust_main/after_bill_location.html, $cust_main &>
</TABLE>
</TD>
</TR>
-<TR><TD STYLE="height:40px"></TD></TR>
+<TR><TD STYLE="height:14px"></TD></TR>
<TR>
- <TD STYLE="width:650px">
+ <TD>
<FONT CLASS="fsinnerbox-title"><% mt('Service address') |h %></FONT>
<INPUT TYPE="checkbox"
NAME="same"
VALUE="Y"
<% $has_ship_address ? '' : 'CHECKED' %>
><% mt('same as billing address') |h %>
- <DIV CLASS="fsinnerbox">
- <TABLE ID="table_ship_location" WIDTH="100%">
+ <DIV ID="div_ship_location">
+ <TABLE WIDTH="100%" CLASS="fsinnerbox">
+ <& cust_main/before_ship_location.html, $cust_main &>
<& /elements/location.html,
object => $cust_main->ship_location,
prefix => 'ship_',
enable_district => 1,
enable_coords => 1,
&>
+% unless ($conf->exists('invoice-ship_address')) { #it's always on, so hide per-cust config
+ <TR>
+ <TD COLSPAN="8">
+ <% include('/elements/checkbox.html',
+ 'field' => 'invoice_ship_address',
+ 'value' => 'Y',
+ 'curr_value' => $cust_main->invoice_ship_address,
+ 'postfix' => emt('Include service address on invoices'),
+ ) %>
+ </TD>
+ </TR>
+% }
</TABLE>
</DIV>
</TD>
</TR></TABLE>
-<SCRIPT>
+<SCRIPT TYPE="text/javascript">
+
function samechanged(what) {
-%# not display = 'none', because we still want it to take up space
-%# document.getElementById('table_ship_location').style.visibility =
-%# what.checked ? 'hidden' : 'visible';
- var t1 = document.getElementById('table_ship_location');
if ( what.checked ) {
- t1.style.visibility = 'hidden';
- }
- else {
- t1.style.visibility = 'visible'
+ $('#div_ship_location').slideUp();
+ } else {
+ $('#div_ship_location').slideDown();
}
}
-//samechanged(document.getElementById('same'));
-</SCRIPT>
-<BR>
+% if ( ! $has_ship_address ) {
+ $('#div_ship_location').hide();
+% }
-<& cust_main/contacts_new.html,
- 'cust_main' => $cust_main,
-&>
+</SCRIPT>
+
+<& cust_main/contacts_new.html, 'cust_main'=>$cust_main, &>
%# billing info
<& cust_main/billing.html, $cust_main,
- 'payinfo' => $payinfo,
'invoicing_list' => \@invoicing_list,
&>
-<BR>
% my $ro_comments = $conf->exists('cust_main-use_comments')?'':'readonly';
% if (!$ro_comments || $cust_main->comments) {
<INPUT TYPE="hidden" NAME="usernum" VALUE="<% $cust_main->usernum %>">
-%# cust_main/bottomfixup.js
-% foreach my $hidden (
-% 'payauto', 'billday',
-% 'payinfo', 'payinfo1', 'payinfo2', 'payinfo3', 'paytype',
-% 'payname', 'paystate', 'exp_month', 'exp_year', 'paycvv',
-% 'paystart_month', 'paystart_year', 'payissue',
-% 'payip',
-% 'paid',
-% ) {
- <INPUT TYPE="hidden" NAME="<% $hidden %>" VALUE="">
-% }
-
<& cust_main/bottomfixup.html, 'custnum' => $custnum &>
<BR>
#get record
-my($custnum, $cust_main, $ss, $stateid, $payinfo, @invoicing_list);
+my($custnum, $cust_main, $ss, $stateid, @invoicing_list);
my $pkgpart_svcpart = ''; #first_pkg
my($username, $password, $popnum, $saved_domsvc) = ( '', '', 0, 0 ); #svc_acct
my %svc_phone = ();
my $locationnum = '';
my $same = '';
+$m->comp('/elements/handle_uri_query', 'secure'=>1);
if ( $cgi->param('error') ) {
my %locations;
for my $pre (qw(bill ship)) {
my %hash;
- foreach ( FS::cust_main->location_fields ) {
- $hash{$_} = scalar($cgi->param($pre.'_'.$_));
+ foreach my $locfield ( FS::cust_main->location_fields ) {
+ # don't search on lat/long, string values can cause qsearchs to die
+ next if grep {$_ eq $locfield} qw(latitude longitude);
+ $hash{$locfield} = scalar($cgi->param($pre.'_'.$locfield));
}
$hash{'custnum'} = $cgi->param('custnum');
$locations{$pre} = qsearchs('cust_location', \%hash)
|| FS::cust_location->new( \%hash );
+ # now set lat/long, for redisplay of entered values
+ foreach my $locfield ( qw(latitude longitude) ) {
+ my $locvalue = scalar($cgi->param($pre.'_'.$locfield));
+ $locations{$pre}->set($locfield,$locvalue);
+ }
}
if ( $same ) {
$locations{ship} = $locations{bill};
$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') );
@invoicing_list = $cust_main->invoicing_list;
$ss = $conf->exists('unmask_ss') ? $cust_main->ss : $cust_main->masked('ss');
$stateid = $cust_main->masked('stateid');
- $payinfo = $cust_main->paymask;
} else { #new customer
$cust_main = new FS::cust_main ( {} );
$cust_main->agentnum( $conf->config('default_agentnum') )
if $conf->exists('default_agentnum');
- $cust_main->otaker( &getotaker );
$cust_main->referral_custnum( $cgi->param('referral_custnum') );
- @invoicing_list = ();
- push @invoicing_list, 'POST'
+ $cust_main->set('postal_invoice', 'Y')
unless $conf->exists('disablepostalinvoicedefault');
$ss = '';
$stateid = '';
- $payinfo = '';
-
- $cgi->param('tagnum', FS::part_tag->default_tags);
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;
$cust_main->company( $prospect_main->company );
#first contact? -> name
- my @contacts = $prospect_main->contact;
- my $contact = $contacts[0];
+ my @prospect_contacts = $prospect_main->prospect_contact;
+ my $contact = $prospect_contacts[0]->contact;
$cust_main->first( $contact->first );
$cust_main->set( 'last', $contact->get('last') );
#contact phone numbers?
}
-my %keep = map { $_=>1 } qw( error tagnum lock_agentnum lock_pkgpart );
-$cgi->delete( grep { !$keep{$_} && $_ !~ /^tax_/ } $cgi->param );
-
my $title = $custnum ? 'Edit Customer' : 'Add Customer';
$title = mt($title);
$title .= ": ". $cust_main->name if $custnum;