summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2013-12-31 17:35:09 -0800
committerMark Wells <mark@freeside.biz>2013-12-31 17:35:09 -0800
commitacbc7e3c55a3d5a0e9999b0630653ad510d4b19a (patch)
tree41791bd264725fb239567c6fca8bc9d156c0c698 /httemplate
parent1564f23d66008e6167af8b517dce364127d34c3c (diff)
enable census tract lookup and manual entry in package order/change and location edit, #26722
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/edit/cust_location.cgi1
-rw-r--r--httemplate/edit/process/change-cust_pkg.html2
-rw-r--r--httemplate/elements/standardize_locations.js48
-rwxr-xr-xhttemplate/misc/change_pkg.cgi6
-rw-r--r--httemplate/misc/confirm-censustract.html6
-rw-r--r--httemplate/misc/order_pkg.html3
6 files changed, 60 insertions, 6 deletions
diff --git a/httemplate/edit/cust_location.cgi b/httemplate/edit/cust_location.cgi
index 93ce32382..774b66730 100755
--- a/httemplate/edit/cust_location.cgi
+++ b/httemplate/edit/cust_location.cgi
@@ -19,6 +19,7 @@ ACTION="<% $p %>edit/process/cust_location.cgi" METHOD=POST>
'form' => 'EditLocationForm',
'callback' => 'document.EditLocationForm.submit();',
'with_census' => 1,
+ 'with_census_functions' => 1,
&>
</TABLE>
diff --git a/httemplate/edit/process/change-cust_pkg.html b/httemplate/edit/process/change-cust_pkg.html
index 0d571defd..96175e1e4 100644
--- a/httemplate/edit/process/change-cust_pkg.html
+++ b/httemplate/edit/process/change-cust_pkg.html
@@ -35,7 +35,7 @@ if ( $cgi->param('locationnum') == -1 ) {
my $cust_location = FS::cust_location->new({
'custnum' => $cust_pkg->custnum,
map { $_ => scalar($cgi->param($_)) }
- qw( address1 address2 city county state zip country )
+ FS::cust_main->location_fields
});
$change{'cust_location'} = $cust_location;
}
diff --git a/httemplate/elements/standardize_locations.js b/httemplate/elements/standardize_locations.js
index debd9e7c4..cea59b801 100644
--- a/httemplate/elements/standardize_locations.js
+++ b/httemplate/elements/standardize_locations.js
@@ -157,7 +157,7 @@ function replace_address() {
var clean = newaddr['<% $pre %>addr_clean'] == 'Y';
var error = newaddr['<% $pre %>error'];
if ( clean ) {
-% foreach my $field (qw(address1 address2 city state zip addr_clean censustract)) {
+% foreach my $field (qw(address1 address2 city state zip addr_clean )) {
cf.elements['<% $pre %><% $field %>'].value = newaddr['<% $pre %><% $field %>'];
% } #foreach $field
@@ -296,6 +296,45 @@ function setselect(el, value) {
}
}
+
+% if ($census_functions) { # do not use this in cust_main
+function confirm_censustract() {
+% if ( FS::Conf->new->exists('cust_main-require_censustract') ) {
+ var form = document.<% $formname %>;
+ // this is the existing/confirmed censustract, not the manually entered one
+ if ( form.elements['censustract'].value == '' ||
+ form.elements['censustract'].value !=
+ form.elements['enter_censustract'].value ) {
+ var address_info = form_address_info();
+ address_info['latitude'] = form.elements['latitude'].value;
+ address_info['longitude'] = form.elements['longitude'].value;
+ OLpostAJAX(
+ '<%$p%>/misc/confirm-censustract.html',
+ 'q=' + encodeURIComponent(JSON.stringify(address_info)),
+ function() {
+ overlib( OLresponseAJAX, CAPTION, 'Confirm censustract', STICKY,
+ AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH,
+ 576, HEIGHT, 268, BGCOLOR, '#333399', CGCOLOR, '#333399',
+ TEXTSIZE, 3 );
+ },
+ 0);
+ } else {
+ <% $post_censustract %>;
+ }
+% } else { # skip this step
+ <% $post_censustract %>;
+% }
+}
+
+function set_censustract(tract, year) {
+ var form = document.<% $formname %>;
+ form.elements['censustract'].value = tract;
+ form.elements['censusyear'].value = year;
+ <% $post_censustract %>;
+}
+
+% } # $census_functions
+
<%init>
my %opt = @_;
@@ -315,5 +354,12 @@ if ($billship) {
my $formname = $opt{form} || 'CustomerForm';
my $post_geocode = $opt{callback} || 'post_geocode();';
+my $post_censustract;
+
+my $census_functions = $opt{'with_census_functions'} ? 1 : 0;
+if ( $census_functions ) {
+ $post_censustract = $post_geocode;
+ $post_geocode = 'confirm_censustract()';
+}
</%init>
diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi
index ce8348000..5b4a3dea9 100755
--- a/httemplate/misc/change_pkg.cgi
+++ b/httemplate/misc/change_pkg.cgi
@@ -80,8 +80,10 @@
<& /elements/standardize_locations.html,
- 'form' => "OrderPkgForm",
- 'callback' => 'document.OrderPkgForm.submit();',
+ 'form' => "OrderPkgForm",
+ 'with_census' => 1,
+ 'with_census_functions' => 1,
+ 'callback' => 'document.OrderPkgForm.submit()',
&>
<INPUT NAME = "submitButton"
diff --git a/httemplate/misc/confirm-censustract.html b/httemplate/misc/confirm-censustract.html
index 6a11617e7..9e0af498f 100644
--- a/httemplate/misc/confirm-censustract.html
+++ b/httemplate/misc/confirm-censustract.html
@@ -61,7 +61,11 @@ warn $cgi->param('q') if $DEBUG;
my $q = decode_json($cgi->param('q'))
or die "bad argument '".$cgi->param('q')."'";
-my $pre = $q->{'same'} ? 'bill_' : 'ship_';
+my $pre = '';
+if ($q->{billship}) {
+ # this still isn't quite correct
+ $pre = $q->{'same'} ? 'bill_' : 'ship_';
+}
my %location = (
map { $_ => $q->{$pre.$_} }
qw( company address1 address2 city state zip country latitude longitude )
diff --git a/httemplate/misc/order_pkg.html b/httemplate/misc/order_pkg.html
index 03531bf4d..b06f9622c 100644
--- a/httemplate/misc/order_pkg.html
+++ b/httemplate/misc/order_pkg.html
@@ -176,8 +176,9 @@
<& /elements/standardize_locations.html,
'form' => "OrderPkgForm",
- 'callback' => 'document.OrderPkgForm.submit();',
+ 'callback' => 'document.OrderPkgForm.submit()',
'with_census' => 1,
+ 'with_census_functions' => 1,
&>
% }