[freeside-commits] branch master updated. 777a6997a004dc4ea99bccabe494f77f114db1a3

Mark Wells mark at 420.am
Thu Jan 23 14:32:51 PST 2014


The branch, master has been updated
       via  777a6997a004dc4ea99bccabe494f77f114db1a3 (commit)
       via  5985b40c4d8c5cd7b956589edf07b6fa0a4a3dd6 (commit)
      from  8edb7f0ed92d28c935a8e2c26b5b645dccc7704e (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 777a6997a004dc4ea99bccabe494f77f114db1a3
Author: Mark Wells <mark at freeside.biz>
Date:   Thu Jan 23 14:27:40 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 480047c..629c808 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 )

commit 5985b40c4d8c5cd7b956589edf07b6fa0a4a3dd6
Author: Mark Wells <mark at freeside.biz>
Date:   Thu Jan 23 14:09:45 2014 -0800

    minor syntax error

diff --git a/httemplate/edit/process/quick-cust_pkg.cgi b/httemplate/edit/process/quick-cust_pkg.cgi
index 95c9243..c3ab6fe 100644
--- a/httemplate/edit/process/quick-cust_pkg.cgi
+++ b/httemplate/edit/process/quick-cust_pkg.cgi
@@ -134,7 +134,7 @@ my %hash = (
 $hash{'custnum'} = $cust_main->custnum if $cust_main;
 
 my @cust_pkg_usageprice = ();
-foreach my $quantity_param ( grep ( $cgi->param($_) && $cgi->param($_) > 0 ),
+foreach my $quantity_param ( grep { $cgi->param($_) && $cgi->param($_) > 0 }
                                grep /^usagepricenum(\d+)_quantity$/,
                                  $cgi->param
                            )

-----------------------------------------------------------------------

Summary of changes:
 httemplate/edit/cust_main.cgi                |    2 +
 httemplate/edit/cust_main/bottomfixup.js     |   29 +++++++++++++++-------
 httemplate/edit/process/quick-cust_pkg.cgi   |    2 +-
 httemplate/elements/location.html            |    6 +++-
 httemplate/elements/standardize_locations.js |   33 +++++--------------------
 httemplate/misc/confirm-censustract.html     |   22 +++++++++++-----
 6 files changed, 49 insertions(+), 45 deletions(-)




More information about the freeside-commits mailing list