From 74788ace1538fb03d29b17cacf171a600217dd6f Mon Sep 17 00:00:00 2001
From: Peter Rotich <peter@osticket.com>
Date: Mon, 26 Mar 2012 15:20:23 -0400
Subject: [PATCH] Add discard warning, Add auto-submit on setting options
 change

---
 scp/js/scp.js    | 14 ++++++++++++++
 scp/settings.php |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/scp/js/scp.js b/scp/js/scp.js
index 10b8d7331..0d86a48c2 100644
--- a/scp/js/scp.js
+++ b/scp/js/scp.js
@@ -87,6 +87,10 @@ $(document).ready(function(){
         if(!fObj.data('changed')){
             fObj.data('changed', true);
             $('input[type=submit]', fObj).css('color', 'red');
+            $(window).bind('beforeunload', function(e) {
+                e.returnValue='Are you sure you want to leave? Any changes or info you\'ve entered will be discarded!';
+                return e.returnValue;
+             });
         }
     });
 
@@ -97,9 +101,19 @@ $(document).ready(function(){
             $('label', fObj).removeAttr('style');
             $('label', fObj).removeClass('strike');
             fObj.data('changed', false);
+            $(window).unbind('beforeunload');
         }
     });
 
+    $('form#save').submit(function() {
+        $(window).unbind('beforeunload');
+
+        return true;
+     });
+
+    $('select#setting_options').change(function() {
+        $(this).closest('form').submit();
+     });
 
     $(".clearrule").live('click',function() {
         $(this).closest("tr").find(":input").val('');
diff --git a/scp/settings.php b/scp/settings.php
index 162ea816c..d7809d637 100644
--- a/scp/settings.php
+++ b/scp/settings.php
@@ -44,7 +44,7 @@ require(STAFFINC_DIR.'header.inc.php');
 <div style="padding-top:10px;padding-bottom:5px;">
     <form method="get" action="settings.php">
     Setting Option: 
-    <select name="t" style="width:300px;">
+    <select id="setting_options" name="t" style="width:300px;">
         <option value="">&mdash; Select Setting Group &mdash;</option>
         <?php
         foreach($SettingOptions as $k=>$v) {
-- 
GitLab