annotate app/controller/form/Probe.js @ 1336:f879c806f880

Create orte store for grid to have only orte with the correct netzbetreiberId
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 03 Feb 2017 17:43:23 +0100
parents 9d298c82575f
children 81b585645581
rev   line source
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 *
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 */
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
9 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
10 * A Controller for a Probe form
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
11 */
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.form.Probe', {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
15 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
16 * Initialize the Controller
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
17 * It has 4 listeners
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
18 */
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 init: function() {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 this.control({
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 'probeform button[action=save]': {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 click: this.save
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 'probeform button[action=discard]': {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 click: this.discard
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 'probeform': {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 dirtychange: this.dirtyForm
717
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
29 },
1066
d198946e5540 Introduced laborMstId as new probe field.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 972
diff changeset
30 'probeform messstellelabor combobox': {
841
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
31 select: this.setNetzbetreiber
798
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
32 },
717
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
33 'probeform [xtype="datetime"] field': {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
34 blur: this.checkDate
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
35 },
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
36 'probeform panel[xtype="deskriptor] combobox': {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
37 select: this.deskriptorSelect
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 }
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 });
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
42 /**
798
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
43 * The Messtellen Store contains ALL Messtellen.
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
44 * Filter the store in this combobox to reduce the choices
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
45 * to the subset which the user is allowed to use.
967
50d7b6e17525 Filter the selectable Messtellen in the statusgrid
Dustin Demuth <dustin@intevation.de>
parents: 933
diff changeset
46 *
50d7b6e17525 Filter the selectable Messtellen in the statusgrid
Dustin Demuth <dustin@intevation.de>
parents: 933
diff changeset
47 * The app.js also creates a messstellenFiltered store,
50d7b6e17525 Filter the selectable Messtellen in the statusgrid
Dustin Demuth <dustin@intevation.de>
parents: 933
diff changeset
48 * which contains this selection. Maybe this can be used here in future
50d7b6e17525 Filter the selectable Messtellen in the statusgrid
Dustin Demuth <dustin@intevation.de>
parents: 933
diff changeset
49 * TODO
798
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
50 */
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
51 filter: function(field) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
52 var fil = Ext.create('Ext.util.Filter', {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
53 filterFn: function(item) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
54 if (Ext.Array.contains(Lada.mst, item.get('id'))) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
55 return true;
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
56 }
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
57 return false;
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
58 }
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
59 });
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
60 field.getStore().filter(fil);
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
61 },
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
62
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 771
diff changeset
63 /**
841
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
64 * When a Messtelle is selected, modify the Netzbetreiber
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
65 * according to the Messstelle
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
66 */
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
67 setNetzbetreiber: function(combo, records){
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
68 var netzbetreiber = combo.up().up('form')
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
69 .down('netzbetreiber').down('combobox');
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
70 var nbId = records[0].get('netzbetreiberId');
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
71
846
af9d506b0700 always modify the netzbetreiber when the Messstelle was changed
Dustin Demuth <dustin@intevation.de>
parents: 843
diff changeset
72 if (nbId != null) {
841
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
73 //select the NB in the NB-Combobox
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
74 netzbetreiber.select(nbId);
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
75 }
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
76 },
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
77
cf35c6305370 Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 829
diff changeset
78 /**
972
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 967
diff changeset
79 * The save function saves the content of the Messung form.
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
80 * On success it will reload the Store,
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
81 * on failure, it will display an Errormessage
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
82 */
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 save: function(button) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 var formPanel = button.up('form');
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 var data = formPanel.getForm().getFieldValues(true);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 for (var key in data) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87 formPanel.getForm().getRecord().set(key, data[key]);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 }
972
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 967
diff changeset
89 if (!formPanel.getForm().getRecord().get('letzteAenderung')) {
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 967
diff changeset
90 formPanel.getForm().getRecord().data.letzteAenderung = new Date();
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 967
diff changeset
91 }
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 formPanel.getForm().getRecord().save({
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 success: function(record, response) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 var json = Ext.decode(response.response.responseText);
620
e0b966b32163 Open probe create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 587
diff changeset
95 if (json) {
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 button.setDisabled(true);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 button.up('toolbar').down('button[action=discard]')
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 .setDisabled(true);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 formPanel.clearMessages();
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 formPanel.setRecord(record);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 formPanel.setMessages(json.errors, json.warnings);
639
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
102 if (response.action === 'create' && json.success) {
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
103 button.up('window').close();
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
104 var win = Ext.create('Lada.view.window.ProbeEdit', {
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
105 record: record
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
106 });
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
107 win.show();
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
108 win.initData();
fdaabab6f4cc Open Probe-/Messung-Edit window automatically if a new item was saved
Raimund Renkert <raimund.renkert@intevation.de>
parents: 620
diff changeset
109 }
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 }
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 failure: function(record, response) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 button.setDisabled(true);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114 button.up('toolbar').down('button[action=discard]')
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 .setDisabled(true);
678
a24db43b13b5 Set record dirty flag to false if commit failed.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 639
diff changeset
116 var rec = formPanel.getForm().getRecord();
a24db43b13b5 Set record dirty flag to false if commit failed.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 639
diff changeset
117 rec.dirty = false;
728
aadb6e1f0a70 Load the record returned by the request.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 720
diff changeset
118 formPanel.getForm().loadRecord(record);
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 var json = response.request.scope.reader.jsonData;
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120 if (json) {
693
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
121 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
122 formPanel.setMessages(json.errors, json.warnings);
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
123 }
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
124
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
125 if(json.message){
701
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
126 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title')
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
127 +' #'+json.message,
693
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
128 Lada.getApplication().bundle.getMsg(json.message));
701
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
129 } else {
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
130 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
131 Lada.getApplication().bundle.getMsg('err.msg.generic.body'));
693
817524db4017 Readonly was missing
Dustin Demuth <dustin@intevation.de>
parents: 686
diff changeset
132 }
720
c2a6f7caa71b Fix for ErrorMessages in FieldSets for IE8 IE9
Dustin Demuth <dustin@intevation.de>
parents: 717
diff changeset
133 formPanel.clearMessages();
728
aadb6e1f0a70 Load the record returned by the request.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 720
diff changeset
134 //formPanel.setRecord(record);
720
c2a6f7caa71b Fix for ErrorMessages in FieldSets for IE8 IE9
Dustin Demuth <dustin@intevation.de>
parents: 717
diff changeset
135 formPanel.setMessages(json.errors, json.warnings);
701
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
136 } else {
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
137 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
f0bc5387abcc Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents: 693
diff changeset
138 Lada.getApplication().bundle.getMsg('err.msg.response.body'));
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139 }
720
c2a6f7caa71b Fix for ErrorMessages in FieldSets for IE8 IE9
Dustin Demuth <dustin@intevation.de>
parents: 717
diff changeset
140
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 }
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142 });
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
145 /**
816
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
146 * The discard function resets the Probe form
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
147 * to its original state.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
148 */
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 discard: function(button) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 var formPanel = button.up('form');
816
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
151
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
152 formPanel.down('fset[name=entnahmePeriod]').clearMessages();
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
153 formPanel.down('fset[name=sollzeitPeriod]').clearMessages();
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
154 formPanel.down('datetime[name=probeentnahmeBeginn]').clearWarningOrError();
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
155 formPanel.down('datetime[name=probeentnahmeEnde]').clearWarningOrError();
e25fcc9269df Removed a Bug where Datetimepickler errormessages where not reset on Form Discard
Dustin Demuth <dustin@intevation.de>
parents: 798
diff changeset
156
741
a76638970d50 Clear filter on umwelt combox store.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 728
diff changeset
157 formPanel.down('umwelt').store.clearFilter();
1066
d198946e5540 Introduced laborMstId as new probe field.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 972
diff changeset
158 formPanel.setRecord(formPanel.getForm().getRecord());
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 },
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
161 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
162 * The dirtyForm function enables or disables the save and discard
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
163 * button which are present in the toolbar of the form.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
164 * The Buttons are only active if the content of the form was altered
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
165 * (the form is dirty).
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
166 * In Additon it calls the disableChildren() function of the window
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
167 * embedding the form. Likewise it calls the embedding windows
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
168 * enableChilren() function
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
169 */
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 dirtyForm: function(form, dirty) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 if (dirty) {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
172 form.owner.down('button[action=save]').setDisabled(false);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 form.owner.down('button[action=discard]').setDisabled(false);
686
14ac75f80ba1 Forgot to commit the controller for commit 684
Dustin Demuth <dustin@intevation.de>
parents: 678
diff changeset
174 form.owner.up('window').disableChildren();
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
175 }
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 else {
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 form.owner.down('button[action=save]').setDisabled(true);
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
178 form.owner.down('button[action=discard]').setDisabled(true);
686
14ac75f80ba1 Forgot to commit the controller for commit 684
Dustin Demuth <dustin@intevation.de>
parents: 678
diff changeset
179 form.owner.up('window').enableChildren(); // todo this might not be true in all cases
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
180 }
717
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
181 },
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
182
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
183 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
184 * checkDate() is called when a xtype=datetime field was modified
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
185 * It checks for two things:
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
186 * - Is the date in the future
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
187 * - Does the date belong to a time period and the end is before start
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
188 * In both cases it adds a warning to the field which was checked.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 728
diff changeset
189 */
717
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
190 checkDate: function(field) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
191 var now = Date.now();
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
192 var w = 0 //amount of warnings
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
193 var e = 0 //errors
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
194 var emsg = '';
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
195 var wmsg = '';
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
196
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
197 if (field.getValue() > now){
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
198 wmsg += Lada.getApplication().bundle.getMsg('661');
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
199 w++;
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
200 }
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
201 // This field might be a field within a DateTime-Period.
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
202 // Search for Partner field (period: end/start) and validate
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
203 // End Before Start validation
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
204 if (field.period) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
205 var partners = new Array();
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
206 partners[0] = field.up('fieldset').down('datetime[period=start]').down().getValue()
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
207 partners[1] = field.up('fieldset').down('datetime[period=end]').down().getValue()
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
208 if (partners[0] && partners[1] && partners[0] > partners [1]) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
209 var msg = Lada.getApplication().bundle.getMsg('662');
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
210 field.up('fieldset').showWarningOrError(true, msg, false, '');
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
211 } else {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
212 field.up('fieldset').clearMessages();
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
213 }
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
214 }
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
215
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
216 if (w) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
217 field.up().showWarnings(wmsg);
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
218 }
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
219 if (e) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
220 field.up().showErrors(emsg);
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
221 }
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
222
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
223 // Clear Warnings or Errors if none Are Present
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
224 if (w == 0 && e == 0) {
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
225 field.up().clearWarningOrError();
f124d24c8ade Datevalidation. When editing a timeperiod in a Probeform it is validated wheter begindate is before enddate. This only happens when the blur-event is fired. ToDo: Listen to Events from the Übernehmen Button of the DateTimePicker, ToDo: Somehow the ErrorMessages are not Cleared correctly when the form is restored.
Dustin Demuth <dustin@intevation.de>
parents: 701
diff changeset
226 }
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
227 },
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
228
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
229 deskriptorSelect: function(field, records) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
230 var desk = field.up('deskriptor');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
231 var media = field.up('probeform').down('textfield[name="mediaDesk"]');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
232 var current = media.getValue().split(' ');
1283
9d298c82575f Check correct length in deskriptor string.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1281
diff changeset
233 if (current.length < 12) {
1276
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
234 var value;
1281
8012e5212bd5 Fixed initial length of deskriptor string.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1276
diff changeset
235 for (var i = 0; i < 13; i++) {
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
236 if (i === 0) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
237 current.push('D:');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
238 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
239 else if (i === desk.layer + 1) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
240 var value;
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
241 if (records[0].get('sn') < 10) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
242 value = '0' + records[0].get('sn');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
243 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
244 else {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
245 value = records[0].get('sn');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
246 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
247 current.push(value);
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
248 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
249 else {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
250 current.push('00');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
251 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
252 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
253 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
254 else {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
255 var value;
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
256 if (records[0].get('sn') < 10) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
257 value = '0' + records[0].get('sn');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
258 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
259 else {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
260 value = records[0].get('sn');
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
261 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
262 current[desk.layer + 1] = value;
932
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
263 if (desk.layer < 2) {
1085
3c42c06e3a36 Decreased descriptor string parts.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1066
diff changeset
264 for (var i = desk.layer + 2; i < 12; i++) {
932
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
265 current[i] = '00';
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
266 }
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
267 this.clearChildDesk(desk);
925
81e7c847cb58 Clear child descriptor fields on descriptor change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 846
diff changeset
268 }
932
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
269 else if (desk.layer === 2 && current[1] === '01') {
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
270 current[4] = '00';
933
8dd758b9b8ea Clear descriptor s3 if s2 is set to empty value.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 932
diff changeset
271 desk.up('fieldset').down('deskriptor[layer=3]').clearValue();
932
c8aceb9e60cc fix descriptor editing
Michael Stanko <mstanko@bfs.de>
parents: 925
diff changeset
272 }
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
273 }
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
274 media.setValue(current.join(' ').trim());
1276
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
275
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
276 if (current[0].length == 0) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
277 current.splice(0,1);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
278 }
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
279 var mediatext = field.up('probeform').down('textfield[name="media"]');
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
280
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
281 if ( (desk.layer === 0 ) && (records[0].get('sn') === 0) ){
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
282 mediatext.setValue('');
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
283 } else {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
284 if ( current[1] === '01') {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
285 if ( (current[4] !== '00') && (desk.layer === 3) ) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
286 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
287 } else if ( (current[3] !== '00') && (desk.layer === 2) ) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
288 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
289 } else if ( (current[2] !== '00') && (desk.layer === 1) ) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
290 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
291 } else if ( (current[1] !== '00') && (desk.layer === 0 )) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
292 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
293 }
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
294 }
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
295
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
296 if ( current[1] !== '01') {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
297 if ((current[2] !== '00') && (desk.layer === 1 )) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
298 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
299 } else if ((current[1] !== '00') && (desk.layer === 0 )) {
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
300 mediatext.setValue(records[0].data.beschreibung);
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
301 }
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
302 }
8f37f8832c4a fix mediadescription in probe form
Michael Stanko <mstanko@bfs.de>
parents: 1085
diff changeset
303 }
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
304 },
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
305
925
81e7c847cb58 Clear child descriptor fields on descriptor change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 846
diff changeset
306 clearChildDesk: function(field) {
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
307 var allS = field.up('fieldset').items.items;
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
308 for (var i = field.layer + 1; i < 12; i++) {
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
309 allS[i].clearValue();
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
310 }
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
311 }
771
dd6925ef6028 Load, set and parse deskriptoren in probe form.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 743
diff changeset
312
587
cf328526b5bb Moved controller into subfolders.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
313 });

http://lada.wald.intevation.org