diff app/controller/form/Messprogramm.js @ 777:5a153d36ed4e

ClearMessages
author Dustin Demuth <dustin@intevation.de>
date Tue, 12 May 2015 17:00:22 +0200
parents 311c39a64064
children f0b26df02157
line wrap: on
line diff
--- a/app/controller/form/Messprogramm.js	Tue May 12 16:26:05 2015 +0200
+++ b/app/controller/form/Messprogramm.js	Tue May 12 17:00:22 2015 +0200
@@ -26,14 +26,18 @@
             'messprogrammform': {
                 dirtychange: this.dirtyForm
             },
-            'messprogrammform gueltigPeriod datetime': {
-                blur: this.checkPeriod
+            'messprogrammform datetime textfield': {
+                blur: this.checkDatePeriod
             },
-            'messprogrammform probenintervall numberfield': {
+            'messprogrammform [name="teilintervallVon"]': {
                 change: this.synchronizeSlider,
                 blur: this.checkPeriod
             },
-            'messprogrammform probenintervall combobox': {
+            'messprogrammform [name="teilintervallBis"]': {
+                change: this.synchronizeSlider,
+                blur: this.checkPeriod
+            },
+             'messprogrammform probenintervall combobox': {
                 select: this.updateIntervalls
             }
         });
@@ -184,7 +188,6 @@
      * The function validates if the start is smaller than end.
      */
     checkPeriod: function(field) {
-        alert();
         // This field might be a field within a Period.
         // Search for Partner field (period: end/start) and validate
         // End Before Start validation
@@ -199,5 +202,33 @@
                 field.up('fieldset').clearMessages();
             }
         }
-    }
-});
+    },
+
+    /**
+     * checkDatePeriod() is called when a fields defining an intervall
+     * were modified
+     * The function validates if the start is smaller than end.
+     * Same as checkPeriod but requires DATETIME fields
+     */
+    checkDatePeriod: function(field) {
+        // This field might be a field within a Period.
+        // Search for Partner field (period: end/start) and validate
+        // End Before Start validation
+        if (field.period) {
+            var partners = new Array();
+                partners[0] = field.up('fieldset')
+                    .down('datetime[period=start]')
+                    .down('textfield')
+                    .getValue()
+                partners[1] = field.up('fieldset')
+                    .down('datetime[period=end]')
+                    .down('textfield')
+                    .getValue()
+            if (partners[0] && partners[1] && partners[0] > partners [1]) {
+                var msg = Lada.getApplication().bundle.getMsg('662');
+                field.up('fieldset').showWarningOrError(true, msg, false, '');
+            } else {
+                field.up('fieldset').clearMessages();
+            }
+        }
+    }});

http://lada.wald.intevation.org