projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
usability: customer tags with checkboxes instead of a select-multiple
[freeside.git]
/
httemplate
/
edit
/
cust_main.cgi
diff --git
a/httemplate/edit/cust_main.cgi
b/httemplate/edit/cust_main.cgi
index
877d1e8
..
3ba1e85
100755
(executable)
--- a/
httemplate/edit/cust_main.cgi
+++ b/
httemplate/edit/cust_main.cgi
@@
-68,8
+68,8
@@
VALUE="Y"
<% $has_ship_address ? '' : 'CHECKED' %>
><% mt('same as billing address') |h %>
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,
<& cust_main/before_ship_location.html, $cust_main &>
<& /elements/location.html,
object => $cust_main->ship_location,
@@
-95,29
+95,26
@@
</TD>
</TR></TABLE>
</TD>
</TR></TABLE>
-<SCRIPT>
+<SCRIPT TYPE="text/javascript">
+
function samechanged(what) {
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 ) {
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();
+% }
+
+</SCRIPT>
<& cust_main/contacts_new.html, 'cust_main'=>$cust_main, &>
%# billing info
<& cust_main/billing.html, $cust_main,
<& cust_main/contacts_new.html, 'cust_main'=>$cust_main, &>
%# billing info
<& cust_main/billing.html, $cust_main,
- 'payinfo' => $payinfo,
'invoicing_list' => \@invoicing_list,
&>
'invoicing_list' => \@invoicing_list,
&>
@@
-188,7
+185,7
@@
my $conf = new FS::Conf;
#get record
#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 $pkgpart_svcpart = ''; #first_pkg
my($username, $password, $popnum, $saved_domsvc) = ( '', '', 0, 0 ); #svc_acct
my %svc_phone = ();
@@
-206,12
+203,19
@@
if ( $cgi->param('error') ) {
my %locations;
for my $pre (qw(bill ship)) {
my %hash;
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 );
}
$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};
}
if ( $same ) {
$locations{ship} = $locations{bill};
@@
-236,7
+240,6
@@
if ( $cgi->param('error') ) {
$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
$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') );
$cust_main->national_id( $cgi->param('national_id1') || $cgi->param('national_id2') );
@@
-284,7
+287,6
@@
if ( $cgi->param('error') ) {
@invoicing_list = $cust_main->invoicing_list;
$ss = $conf->exists('unmask_ss') ? $cust_main->ss : $cust_main->masked('ss');
$stateid = $cust_main->masked('stateid');
@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
} else { #new customer
@@
-296,14
+298,10
@@
if ( $cgi->param('error') ) {
$cust_main->agentnum( $conf->config('default_agentnum') )
if $conf->exists('default_agentnum');
$cust_main->referral_custnum( $cgi->param('referral_custnum') );
$cust_main->agentnum( $conf->config('default_agentnum') )
if $conf->exists('default_agentnum');
$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 = '';
unless $conf->exists('disablepostalinvoicedefault');
$ss = '';
$stateid = '';
- $payinfo = '';
-
- $cgi->param('tagnum', FS::part_tag->default_tags);
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;
if ( $cgi->param('qualnum') =~ /^(\d+)$/ ) {
my $qualnum = $1;