From 4b019d852d751c57fef8847573aa4f4a89c2db4c Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Mon, 08 Oct 2012 08:28:39 -0400
Subject: [PATCH] - Bugfix: do not submit form when pressing ENTER while focus is on "Generate Password" link.

---
 interface/web/themes/default_no_navimg/templates/main.tpl.htm |   23 +++++++++--
 interface/web/themes/default/templates/main.tpl.htm           |    4 +-
 interface/web/themes/default_combobox/templates/main.tpl.htm  |   23 +++++++++--
 interface/web/themes/default_64_navimg/templates/main.tpl.htm |   23 +++++++++--
 interface/web/themes/default-304/templates/main.tpl.htm       |   16 ++++++-
 5 files changed, 69 insertions(+), 20 deletions(-)

diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm
index 9707eec..862693b 100644
--- a/interface/web/themes/default-304/templates/main.tpl.htm
+++ b/interface/web/themes/default-304/templates/main.tpl.htm
@@ -93,13 +93,23 @@
                 });
                 
                 jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
+				
+				tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
+                tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+                tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
+                tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
             });
             
             
             jQuery(document).bind("change", function(event) {
-                if (jQuery(".panel #Filter").length > 0 && event.target.localName == 'select') {
+                var elName = event.target.localName;
+                if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
                     event.preventDefault();
                     jQuery(".panel #Filter").trigger('click');
+                }
+                if(elName == 'select' || elName == 'input' || elName == 'textarea') {
+                    // set marker that something was changed
+                    pageFormChanged = true;
                 }
             });
             
@@ -110,9 +120,9 @@
                     jQuery(".panel #Filter").trigger('click');
                 }
                 //Use jQuery submit with keypress Enter in forms
-                if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea') {
+                if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
                     event.preventDefault();
-                    jQuery(".pnl_formsarea button.positive:first").trigger('click');
+                    jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
                 }
             });
         </script>
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index ea2698f..e46da4a 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -69,9 +69,9 @@
                     jQuery(".panel #Filter").trigger('click');
                 }
                 //Use jQuery submit with keypress Enter in forms
-                if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea') {
+                if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
                     event.preventDefault();
-                    jQuery(".pnl_formsarea button.positive:first").trigger('click');
+                    jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
                 }
             });
         </script>
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
index ce013cf..c0180e1 100644
--- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -94,22 +94,35 @@
 			});
 			
 			jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
+			
+			tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
+            tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+            tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
+            tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
 		});
 
 		jQuery(document).bind("change", function(event) {
-			if (jQuery(".panel #Filter").length > 0 && event.target.localName == 'select') {
-				jQuery(".panel #Filter").trigger('click');
-			}
+			var elName = event.target.localName;
+            if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
+                event.preventDefault();
+                jQuery(".panel #Filter").trigger('click');
+            }
+            if(elName == 'select' || elName == 'input' || elName == 'textarea') {
+                // set marker that something was changed
+                pageFormChanged = true;
+            }
 		});
 		
 		jQuery(document).bind("keypress", function(event) {
 			//Use jQuery submit with keypress Enter in panel filterbar
 			if (event.which == '13' && jQuery(".panel #Filter").length > 0) {
+				event.preventDefault();
 				jQuery(".panel #Filter").trigger('click');
 			}
 			//Use jQuery submit with keypress Enter in forms
-			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea') {
-				jQuery(".pnl_formsarea button.positive:first").trigger('click');
+			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
+				event.preventDefault();
+				jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
 			}
 		});
 	</script>
diff --git a/interface/web/themes/default_combobox/templates/main.tpl.htm b/interface/web/themes/default_combobox/templates/main.tpl.htm
index adf832c..142794e 100644
--- a/interface/web/themes/default_combobox/templates/main.tpl.htm
+++ b/interface/web/themes/default_combobox/templates/main.tpl.htm
@@ -95,12 +95,23 @@
 			});
 			
 			jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
+			
+			tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
+            tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+            tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
+            tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
 		});
 
 		jQuery(document).bind("change", function(event) {
-			if (jQuery(".panel #Filter").length > 0 && event.target.localName == 'select') {
-				jQuery(".panel #Filter").trigger('click');
-			}
+			var elName = event.target.localName;
+            if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
+                event.preventDefault();
+                jQuery(".panel #Filter").trigger('click');
+            }
+            if(elName == 'select' || elName == 'input' || elName == 'textarea') {
+                // set marker that something was changed
+                pageFormChanged = true;
+            }
 		});
 
 		jQuery(".ui-autocomplete a").live("click", function(event) {
@@ -112,11 +123,13 @@
 		jQuery(document).bind("keypress", function(event) {
 			//Use jQuery submit with keypress Enter in panel filterbar
 			if (event.which == '13' && jQuery(".panel #Filter").length > 0) {
+				event.preventDefault();
 				jQuery(".panel #Filter").trigger('click');
 			}
 			//Use jQuery submit with keypress Enter in forms
-			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea') {
-				jQuery(".pnl_formsarea button.positive:first").trigger('click');
+			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
+				event.preventDefault();
+				jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
 			}
 		});
 
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
index 8b2d46c..5f45a0a 100644
--- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -94,22 +94,35 @@
 			});
 			
 			jQuery('.ttip').tipsy({live: true, gravity: 'ne', html: true});
+			
+			tabChangeDiscard = '<tmpl_var name="tabchange_discard_enabled>';
+            tabChangeWarning = '<tmpl_var name="tabchange_warning_enabled>';
+            tabChangeWarningTxt = '<tmpl_var name="global_tabchange_warning_txt">';
+            tabChangeDiscardTxt = '<tmpl_var name="global_tabchange_discard_txt">';
 		});
 
 		jQuery(document).bind("change", function(event) {
-			if (jQuery(".panel #Filter").length > 0 && event.target.localName == 'select') {
-				jQuery(".panel #Filter").trigger('click');
-			}
+			var elName = event.target.localName;
+            if (jQuery(".panel #Filter").length > 0 && elName == 'select') {
+                event.preventDefault();
+                jQuery(".panel #Filter").trigger('click');
+            }
+            if(elName == 'select' || elName == 'input' || elName == 'textarea') {
+                // set marker that something was changed
+                pageFormChanged = true;
+            }
 		});
 		
 		jQuery(document).bind("keypress", function(event) {
 			//Use jQuery submit with keypress Enter in panel filterbar
 			if (event.which == '13' && jQuery(".panel #Filter").length > 0) {
+				event.preventDefault();
 				jQuery(".panel #Filter").trigger('click');
 			}
 			//Use jQuery submit with keypress Enter in forms
-			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea') {
-				jQuery(".pnl_formsarea button.positive:first").trigger('click');
+			if (event.which == '13' && jQuery(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && jQuery(event.target).is(':input')) {
+				event.preventDefault();
+				jQuery(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click');
 			}
 		});
 

--
Gitblit v1.9.1