[freeside-commits] branch FREESIDE_3_BRANCH updated. 02ac576281eb3f74e5b75490517512de3ce5889c
Mark Wells
mark at 420.am
Thu Jan 23 14:32:51 PST 2014
The branch, FREESIDE_3_BRANCH has been updated
via 02ac576281eb3f74e5b75490517512de3ce5889c (commit)
from 339f0d29184395a0342c4f3a3febba79cd76fb11 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 02ac576281eb3f74e5b75490517512de3ce5889c
Author: Mark Wells <mark at freeside.biz>
Date: Thu Jan 23 14:27:25 2014 -0800
make census tract UI behave more like other cust_location fields, #23497
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 5552852..631f4b6 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -53,6 +53,8 @@
<& /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 &>
diff --git a/httemplate/edit/cust_main/bottomfixup.js b/httemplate/edit/cust_main/bottomfixup.js
index ecfcb3c..5a8835f 100644
--- a/httemplate/edit/cust_main/bottomfixup.js
+++ b/httemplate/edit/cust_main/bottomfixup.js
@@ -7,7 +7,7 @@ my $company_longitude = $conf->config('company_longitude');
my @fixups = ('copy_payby_fields', 'standardize_locations');
-push @fixups, 'confirm_censustract'
+push @fixups, 'confirm_censustract_bill', 'confirm_censustract_ship'
if $conf->exists('cust_main-require_censustract');
my $uniqueness = $conf->config('cust_main-check_unique');
@@ -101,14 +101,17 @@ function copyelement(from, to) {
}
% # the value in pre+'censustract' is the confirmed censustract; if it's set,
-% # do nothing here
-function confirm_censustract() {
+% # and the user hasn't changed it manually, skip this
+function confirm_censustract(pre) {
var cf = document.CustomerForm;
- var pre = cf.elements['same'].checked ? 'bill_' : 'ship_';
- if ( cf.elements[pre+'censustract'].value == '' ) {
+ if ( cf.elements[pre+'censustract'].value == '' ||
+ cf.elements[pre+'enter_censustract'].value !=
+ cf.elements[pre+'censustract'].value )
+ {
var address_info = form_address_info();
address_info[pre+'latitude'] = cf.elements[pre+'latitude'].value;
address_info[pre+'longitude'] = cf.elements[pre+'longitude'].value;
+ address_info['prefix'] = pre;
OLpostAJAX(
'<%$p%>/misc/confirm-censustract.html',
'q=' + encodeURIComponent(JSON.stringify(address_info)),
@@ -121,14 +124,22 @@ function confirm_censustract() {
0);
} else submit_continue();
}
+function confirm_censustract_bill() {
+ confirm_censustract('bill_');
+}
-%# called from confirm-censustract.html
-function set_censustract(tract, year) {
+function confirm_censustract_ship() {
var cf = document.CustomerForm;
- var pre = 'ship_';
if ( cf.elements['same'].checked ) {
- pre = 'bill_';
+ submit_continue();
+ } else {
+ confirm_censustract('ship_');
}
+}
+
+%# called from confirm-censustract.html
+function set_censustract(tract, year, pre) {
+ var cf = document.CustomerForm;
cf.elements[pre + 'censustract'].value = tract;
cf.elements[pre + 'censusyear'].value = year;
submit_continue();
diff --git a/httemplate/elements/location.html b/httemplate/elements/location.html
index a820bf2..799531e 100644
--- a/httemplate/elements/location.html
+++ b/httemplate/elements/location.html
@@ -213,7 +213,8 @@ Example:
<TD ALIGN="right">Census tract</TD>
<TD COLSPAN=8>
<INPUT TYPE="text" SIZE=15
- NAME="enter_censustract"
+ ID="<% $pre %>enter_censustract"
+ NAME="<% $pre %>enter_censustract"
VALUE="<% $object->censustract |h %>">
<% '(automatic)' %>
</TD>
@@ -250,7 +251,8 @@ Example:
var clear_coords_ids = [
'<%$pre%>latitude',
'<%$pre%>longitude',
- 'enter_censustract',
+ '<%$pre%>enter_censustract',
+ '<%$pre%>censustract',
'<%$pre%>district'
];
function clear_coords() {
diff --git a/httemplate/elements/standardize_locations.js b/httemplate/elements/standardize_locations.js
index cea59b8..2d1fc74 100644
--- a/httemplate/elements/standardize_locations.js
+++ b/httemplate/elements/standardize_locations.js
@@ -11,26 +11,14 @@ function form_address_info() {
% if ( $billship ) {
returnobj['same'] = cf.elements['same'].checked;
% }
-% if ( $withcensus ) {
-% # "entered" censustract always goes with the ship_ address if there is one
-% if ( $billship ) {
- returnobj['ship_censustract'] = cf.elements['enter_censustract'].value;
-% } else { # there's only a package address, so it's just "censustract"
- returnobj['censustract'] = cf.elements['enter_censustract'].value;
-% }
-% }
% for my $pre (@prefixes) {
- if ( <% $pre eq 'ship_' ? 1 : 0 %> && returnobj['same'] ) {
-% # special case: don't include any ship_ fields, and move the entered
-% # censustract over to bill_.
- returnobj['bill_censustract'] = returnobj['ship_censustract'];
- delete returnobj['ship_censustract'];
- } else {
% # normal case
% for my $field (qw(address1 address2 city state zip country)) {
returnobj['<% $pre %><% $field %>'] = cf.elements['<% $pre %><% $field %>'].value;
% } #for $field
- } // if returnobj['same']
+% if ( $withcensus ) {
+ returnobj['<% $pre %>censustract'] = cf.elements['<% $pre %>enter_censustract'].value;
+% }
% } #foreach $pre
return returnobj;
@@ -181,18 +169,11 @@ function confirm_manual_address() {
%# not much to do in this case, just confirm the censustract
% if ( $withcensus ) {
var cf = document.<% $formname %>;
-% if ( $billship ) {
- if ( cf.elements['same'] && cf.elements['same'].checked ) {
- cf.elements['bill_censustract'].value =
- cf.elements['enter_censustract'].value;
- } else {
- cf.elements['ship_censustract'].value =
- cf.elements['enter_censustract'].value;
- }
-% } else {
- cf.elements['censustract'].value = cf.elements['enter_censustract'].value;
+% foreach my $pre (@prefixes) {
+ cf.elements['<% $pre %>censustract'].value =
+ cf.elements['<% $pre %>enter_censustract'].value;
% }
-% }
+% } # $withcensus
post_standardization();
}
diff --git a/httemplate/misc/confirm-censustract.html b/httemplate/misc/confirm-censustract.html
index 9e0af49..880cade 100644
--- a/httemplate/misc/confirm-censustract.html
+++ b/httemplate/misc/confirm-censustract.html
@@ -6,6 +6,9 @@ Census tract error
Confirm census tract
% }
</B><BR>
+<% $location{address1} %> <% $location{address2} %><BR>
+<% $location{city} %>, <% $location{state} %> <% $location{zip} %><BR>
+<BR>
% my $querystring = "census_year=$year&latitude=".$cache->get('latitude').'&longitude='.$cache->get('longitude');
<A HREF="http://maps.ffiec.gov/FFIECMapper/TGMapSrv.aspx?<% $querystring %>"
TARGET="_blank">Map service module location</A><BR>
@@ -29,13 +32,14 @@ Confirm census tract
<TR>
<TD ALIGN="center">
<BUTTON TYPE="button"
- onclick="set_censustract('<% $old_tract %>', '<% $year %>')">
+ onclick="set_censustract('<% $old_tract %>', '<% $year %>', '<% $pre %>')">
<IMG SRC="<%$p%>images/error.png" ALT=""> Use entered census tract
</BUTTON>
</TD>
+% if ( !$error ) {
<TD ALIGN="center">
<BUTTON TYPE="button"
- onclick="set_censustract('<% $new_tract %>', '<% $year %>')">
+ onclick="set_censustract('<% $new_tract %>', '<% $year %>', '<% $pre %>')">
<IMG SRC="<%$p%>images/tick.png" ALT=""> Use calculated census tract
</BUTTON>
</TD>
@@ -47,6 +51,14 @@ Confirm census tract
</BUTTON>
</TD>
</TR>
+% } else { # don't show a button to use the calculated value
+ <TD COLSPAN=1 ALIGN="center">
+ <BUTTON TYPE="button" onclick="submit_abort()">
+ <IMG SRC="<%$p%>images/cross.png" ALT=""> Cancel submission
+ </BUTTON>
+ </TD>
+ </TR>
+% }
</TABLE></CENTER>
<%init>
@@ -61,11 +73,7 @@ warn $cgi->param('q') if $DEBUG;
my $q = decode_json($cgi->param('q'))
or die "bad argument '".$cgi->param('q')."'";
-my $pre = '';
-if ($q->{billship}) {
- # this still isn't quite correct
- $pre = $q->{'same'} ? 'bill_' : 'ship_';
-}
+my $pre = $q->{prefix} || '';
my %location = (
map { $_ => $q->{$pre.$_} }
qw( company address1 address2 city state zip country latitude longitude )
-----------------------------------------------------------------------
Summary of changes:
httemplate/edit/cust_main.cgi | 2 +
httemplate/edit/cust_main/bottomfixup.js | 29 +++++++++++++++-------
httemplate/elements/location.html | 6 +++-
httemplate/elements/standardize_locations.js | 33 +++++--------------------
httemplate/misc/confirm-censustract.html | 22 +++++++++++-----
5 files changed, 48 insertions(+), 44 deletions(-)
More information about the freeside-commits
mailing list