summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--httemplate/docs/credits.html1
-rw-r--r--httemplate/docs/license.html4
-rwxr-xr-xhttemplate/edit/cust_main.cgi141
-rw-r--r--httemplate/images/cross.pngbin0 -> 655 bytes
-rw-r--r--httemplate/images/error.pngbin0 -> 666 bytes
-rw-r--r--httemplate/images/tick.pngbin0 -> 537 bytes
6 files changed, 128 insertions, 18 deletions
diff --git a/httemplate/docs/credits.html b/httemplate/docs/credits.html
index 9d4c5e96f..3c5564da3 100644
--- a/httemplate/docs/credits.html
+++ b/httemplate/docs/credits.html
@@ -68,6 +68,7 @@ Troy Hammonds<BR>
Sean Hanson<BR>
Dale Hege<BR>
Kelly Hickel<BR>
+Mark James<BR>
Frederico Caldeira Knabben<BR>
Greg Kuhnert<BR>
Randall Lucas<BR>
diff --git a/httemplate/docs/license.html b/httemplate/docs/license.html
index fa758788c..8764d7300 100644
--- a/httemplate/docs/license.html
+++ b/httemplate/docs/license.html
@@ -106,5 +106,9 @@ Perl backend version &copy; 2005 Nathan Schmidt
Contains public domain artwork from openclipart.org by mimooh and other
authors.
+<P>
+Contains icons from <A HREF="famfamfam.com">famfamfam.com</A> by Mark James,
+licensed under the terms of the Creative Commons Attribution 2.5 License.
+
</BODY>
</HTML>
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi
index 3d727dd2c..891227838 100755
--- a/httemplate/edit/cust_main.cgi
+++ b/httemplate/edit/cust_main.cgi
@@ -4,6 +4,8 @@
' onUnload="myclose()"'
) %>
+<% include('/elements/init_overlib.html') %>
+
<% include('/elements/error.html') %>
<FORM NAME="topform" STYLE="margin-bottom: 0">
@@ -299,40 +301,143 @@ function bottomfixup(what) {
//'state', state_el.options[ state_el.selectedIndex ].value,
'zip', document.bottomform.elements['zip'].value,
- 'ship_company', document.bottomform.elements['company'].value,
- 'ship_address1', document.bottomform.elements['address1'].value,
- 'ship_address2', document.bottomform.elements['address2'].value,
- 'ship_city', document.bottomform.elements['city'].value,
- 'ship_state', document.bottomform.elements['state'].value,
+ 'ship_company', document.bottomform.elements['ship_company'].value,
+ 'ship_address1', document.bottomform.elements['ship_address1'].value,
+ 'ship_address2', document.bottomform.elements['ship_address2'].value,
+ 'ship_city', document.bottomform.elements['ship_city'].value,
+ 'ship_state', document.bottomform.elements['ship_state'].value,
//'ship_state', state_el.options[ state_el.selectedIndex ].value,
- 'ship_zip', document.bottomform.elements['zip'].value
+ 'ship_zip', document.bottomform.elements['ship_zip'].value
);
address_standardize( cust_main, update_address );
}
+var standardize_address;
+
function update_address(arg) {
var argsHash = eval('(' + arg + ')');
- var address1 = argsHash['address1'];
- var zip = argsHash['zip'];
var changed = argsHash['address_standardized'];
var ship_changed = argsHash['ship_address_standardized'];
- alert(address1);
- alert(zip);
- alert(changed);
- alert(ship_changed);
+ //yay closures
+ standardize_address = function () {
+
+ if ( changed ) {
+ document.bottomform.elements['company'].value = argsHash['new_company'];
+ document.bottomform.elements['address1'].value = argsHash['new_address1'];
+ document.bottomform.elements['address2'].value = argsHash['new_address2'];
+ document.bottomform.elements['city'].value = argsHash['new_city'];
+ document.bottomform.elements['state'].value = argsHash['new_state'];
+ //'state', state_el.options[ state_el.selectedIndex ].value,
+ document.bottomform.elements['zip'].value = argsHash['new_zip'];
+ }
-% if ( $conf->exists('cust_main-auto_standardize_address') ) {
- // XXX this path not handled yet
-% } else {
- // XXX well, this path not handled yet either. popup a confirmation popup
-% }
+ if ( ship_changed ) {
+ document.bottomform.elements['ship_company'].value = argsHash['new_ship_company'];
+ document.bottomform.elements['ship_address1'].value = argsHash['new_ship_address1'];
+ document.bottomform.elements['ship_address2'].value = argsHash['new_ship_address2'];
+ document.bottomform.elements['ship_city'].value = argsHash['new_ship_city'];
+ document.bottomform.elements['ship_state'].value = argsHash['new_ship_state'];
+ //'state', state_el.options[ state_el.selectedIndex ].value,
+ document.bottomform.elements['ship_zip'].value = argsHash['new_ship_zip'];
+ }
+
+ }
+
+ if ( changed || ship_changed ) {
- document.bottomform.submit();
+% if ( $conf->exists('cust_main-auto_standardize_address') ) {
+
+ standardize_address();
+ document.bottomform.submit();
+
+% } else {
+
+ // popup a confirmation popup
+
+ var confirm_change =
+ '<CENTER><BR><B>Confirm address standardization</B><BR><BR>' +
+ '<TABLE>';
+
+ if ( changed ) {
+
+ confirm_change = confirm_change +
+ '<TR><TH>Entered billing address</TH>' +
+ '<TH>Standardized billing address</TH></TR>';
+ // + '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>';
+
+ if ( argsHash['company'] || argsHash['new_company'] ) {
+ confirm_change = confirm_change +
+ '<TR><TD>' + argsHash['company'] +
+ '</TD><TD>' + argsHash['new_company'] + '</TD></TR>';
+ }
+
+ confirm_change = confirm_change +
+ '<TR><TD>' + argsHash['address1'] +
+ '</TD><TD>' + argsHash['new_address1'] + '</TD></TR>' +
+ '<TR><TD>' + argsHash['address2'] +
+ '</TD><TD>' + argsHash['new_address2'] + '</TD></TR>' +
+ '<TR><TD>' + argsHash['city'] + ', ' + argsHash['state'] + ' ' + argsHash['zip'] +
+ '</TD><TD>' + argsHash['new_city'] + ', ' + argsHash['new_state'] + ' ' + argsHash['new_zip'] + '</TD></TR>' +
+ '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>';
+
+ }
+
+ if ( ship_changed ) {
+
+ confirm_change = confirm_change +
+ '<TR><TH>Entered service address</TH>' +
+ '<TH>Standardized service address</TH></TR>';
+ // + '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>';
+
+ if ( argsHash['ship_company'] || argsHash['new_ship_company'] ) {
+ confirm_change = confirm_change +
+ '<TR><TD>' + argsHash['ship_company'] +
+ '</TD><TD>' + argsHash['new_ship_company'] + '</TD></TR>';
+ }
+
+ confirm_change = confirm_change +
+ '<TR><TD>' + argsHash['ship_address1'] +
+ '</TD><TD>' + argsHash['new_ship_address1'] + '</TD></TR>' +
+ '<TR><TD>' + argsHash['ship_address2'] +
+ '</TD><TD>' + argsHash['new_ship_address2'] + '</TD></TR>' +
+ '<TR><TD>' + argsHash['ship_city'] + ', ' + argsHash['ship_state'] + ' ' + argsHash['ship_zip'] +
+ '</TD><TD>' + argsHash['new_ship_city'] + ', ' + argsHash['new_ship_state'] + ' ' + argsHash['new_ship_zip'] + '</TD></TR>' +
+ '<TR><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>';
+
+ }
+
+ var addresses = 'address';
+ var height = 268;
+ if ( changed && ship_changed ) {
+ addresses = 'addresses';
+ height = 396; // #what
+ }
+
+ confirm_change = confirm_change +
+ '<TR><TD>' +
+ '<BUTTON TYPE="button" onClick="document.bottomform.submit();"><IMG SRC="<%$p%>images/error.png" ALT=""> Use entered ' + addresses + '</BUTTON>' +
+ '</TD><TD>' +
+ '<BUTTON TYPE="button" onClick="standardize_address(); document.bottomform.submit();"><IMG SRC="<%$p%>images/tick.png" ALT=""> Use standardized ' + addresses + '</BUTTON>' +
+ '</TD></TR>' +
+ '<TR><TD COLSPAN=2 ALIGN="center">' +
+ '<BUTTON TYPE="button" onClick="document.bottomform.submitButton.disabled=false; parent.cClick();"><IMG SRC="<%$p%>images/cross.png" ALT=""> Cancel submission</BUTTON></TD></TR>' +
+
+ '</TABLE></CENTER>';
+
+ overlib( confirm_change, CAPTION, 'Confirm address standardization', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, 576, HEIGHT, height, BGCOLOR, '#333399', CGCOLOR, '#333399', TEXTSIZE, 3 );
+
+% }
+
+ } else {
+
+ document.bottomform.submit();
+
+ }
}
diff --git a/httemplate/images/cross.png b/httemplate/images/cross.png
new file mode 100644
index 000000000..1514d51a3
--- /dev/null
+++ b/httemplate/images/cross.png
Binary files differ
diff --git a/httemplate/images/error.png b/httemplate/images/error.png
new file mode 100644
index 000000000..628cf2dae
--- /dev/null
+++ b/httemplate/images/error.png
Binary files differ
diff --git a/httemplate/images/tick.png b/httemplate/images/tick.png
new file mode 100644
index 000000000..a9925a06a
--- /dev/null
+++ b/httemplate/images/tick.png
Binary files differ