annotate app/controller/form/Messprogramm.js @ 1266:c4059495a346

Flatten the JSON-data in order to prozess Orte
author Dustin Demuth <dustin@intevation.de>
date Thu, 15 Dec 2016 12:40:22 +0100
parents 5824c4b329f4
children 8f37f8832c4a
rev   line source
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
3 *
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
7 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
8
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
9 /**
1086
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
10 * A Controller for a Messprogramm form
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
11 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.form.Messprogramm', {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
14
797
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
15 requires: [
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
16 'Lada.view.window.MessprogrammOrt'
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
17 ],
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
18
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
19 /**
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
20 * Initialize the Controller
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
21 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
22 init: function() {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
23 this.control({
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
24 'messprogrammform button[action=save]': {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
25 click: this.save
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
26 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
27 'messprogrammform button[action=discard]': {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
28 click: this.discard
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
29 },
797
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
30 'messprogrammform button[action=ort]': {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
31 click: this.editOrtWindow
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
32 },
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
33 'messprogrammform': {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
34 dirtychange: this.dirtyForm
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
35 },
1070
33927274f013 Fixed mst/labor_mst field and selection to automatically set the netzbetreiber.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 972
diff changeset
36 'messprogrammform messstellelabor combobox': {
842
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
37 select: this.setNetzbetreiber
798
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
38 },
797
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
39 'messprogrammform location combobox': {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
40 select: this.syncOrtWindow
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
41 },
1197
112fd60f1fb4 It is an error to specify invalid intervals.
Tom Gottfried <tom@intevation.de>
parents: 1194
diff changeset
42 'messprogrammform numfield numberfield': {
112fd60f1fb4 It is an error to specify invalid intervals.
Tom Gottfried <tom@intevation.de>
parents: 1194
diff changeset
43 change: this.checkPeriod
774
afc9076db490 Added Offset field
Dustin Demuth <dustin@intevation.de>
parents: 759
diff changeset
44 },
777
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
45 'messprogrammform [name="teilintervallVon"]': {
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
46 change: this.synchronizeSlider,
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
47 },
777
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
48 'messprogrammform [name="teilintervallBis"]': {
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
49 change: this.synchronizeSlider,
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
50 },
818
097d4edc2f00 Genprobenwindow can only be created once, also fixed messprogrammortewindow 'close with x and can not reopen' bug
Dustin Demuth <dustin@intevation.de>
parents: 808
diff changeset
51 'messprogrammform probenintervall combobox': {
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
52 select: this.updateIntervalls
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
53 },
1210
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
54 'messprogrammform dayofyear [hidden]': {
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
55 change: this.alignSubIntervall
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
56 },
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
57 'messprogrammform panel[xtype="deskriptor] combobox': {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
58 select: this.deskriptorSelect
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
59 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
60 });
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
61 },
798
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
62
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
63 /**
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
64 * The Messtellen Store contains ALL Messtellen.
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
65 * Filter the store in this combobox to reduce the choices
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
66 * to the subset which the user is allowed to use.
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
67 */
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
68 filter: function(field) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
69 var fil = Ext.create('Ext.util.Filter', {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
70 filterFn: function(item) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
71 if (Ext.Array.contains(Lada.mst, item.get('id'))) {
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
72 return true;
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
73 }
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
74 return false;
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
75 }
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
76 });
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
77 field.getStore().filter(fil);
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
78 },
ff4330d4aba1 Filter Messtellen in Probeform and Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 797
diff changeset
79
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
80 /**
842
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
81 * When a Messtelle is selected, modify the Netzbetreiber
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
82 * according to the Messstelle
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
83 */
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
84 setNetzbetreiber: function(combo, records){
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
85 var netzbetreiber = combo.up().up('form')
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
86 .down('netzbetreiber').down('combobox');
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
87 var nbId = records[0].get('netzbetreiberId');
846
af9d506b0700 always modify the netzbetreiber when the Messstelle was changed
Dustin Demuth <dustin@intevation.de>
parents: 843
diff changeset
88 if (nbId != null) {
842
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
89 //select the NB in the NB-Combobox
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
90 netzbetreiber.select(nbId);
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
91 }
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
92 },
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
93
beef4e8eeafc Added logic to autofill the Netzbetreiber when the Messstelle was selected.
Dustin Demuth <dustin@intevation.de>
parents: 818
diff changeset
94 /**
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
95 * When the Probenintervall was changed, update the Sliders
1210
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
96 * and the numberfield.
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
97 */
1210
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
98 updateIntervalls: function(field) {
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
99 var form = field.up('messprogrammform');
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
100 var record = form.getRecord();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
101 form.populateIntervall(record, field.getValue());
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
102 },
1198
3b6f40541ac6 Remove wrong period check.
Tom Gottfried <tom@intevation.de>
parents: 1197
diff changeset
103
797
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
104 /**
1210
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
105 * When the validity period was changed, align the subintervall
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
106 * in case of yearly intervall.
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
107 */
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
108 alignSubIntervall: function(field) {
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
109 var form = field.up('messprogrammform');
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
110 var intervall = form.down('probenintervall').down('combobox')
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
111 .getValue();
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
112 if (intervall == 'J') {
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
113 if (field.getName() == 'gueltigVon') {
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
114 form.down('[name=teilintervallVon]')
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
115 .setValue(field.getValue());
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
116 } else {
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
117 form.down('[name=teilintervallBis]')
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
118 .setValue(field.getValue());
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
119 }
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
120 }
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
121 },
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
122
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
123 /**
797
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
124 * The function will open a new Window to edit the Ort of a Messprogramm
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
125 */
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
126 editOrtWindow: function(button) {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
127 var formPanel = button.up('form');
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
128 //Only Open if the WIndow does not exist, else focus
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
129 if (!formPanel.ortWindow) {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
130 var data = formPanel.getForm().getFieldValues(true);
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
131 formPanel.ortWindow = Ext.create('Lada.view.window.MessprogrammOrt', {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
132 record: formPanel.getRecord(),
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
133 parentWindow: formPanel.up('window')
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
134 });
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
135 formPanel.ortWindow.show();
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
136 formPanel.ortWindow.initData();
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
137 }
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
138 else {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
139 formPanel.ortWindow.focus();
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
140 formPanel.ortWindow.setActive(true);
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
141 }
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
142 },
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
143
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
144 /**
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
145 * When a OrtWindow exist, and the value of the location combobox is changed, update the window.
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
146 */
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
147 syncOrtWindow: function(combo, record){
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
148 var formPanel = combo.up('messprogrammform');
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
149 if (formPanel.ortWindow) {
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
150 var ortwindowlocation = formPanel
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
151 .ortWindow.down('location')
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
152 var ortwindowcombo = ortwindowlocation
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
153 .down('combobox');
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
154
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
155 ortwindowcombo.select(combo.getValue());
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
156 ortwindowlocation.fireEvent('select',
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
157 ortwindowcombo, ortwindowcombo.record);
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
158 }
b8fd43021c29 Added a Window to alter Orte of a Messprogramm
Dustin Demuth <dustin@intevation.de>
parents: 784
diff changeset
159 },
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
160
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
161 /**
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
162 * When the Slider was used,
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
163 * update the Value of the Teilintervallfields
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
164 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
165 synchronizeFields: function(slider, newValue, thumb) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
166 var formPanel = slider.up('form');
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
167 if (thumb.index == 0) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
168 formPanel.getForm()
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
169 .findField('teilintervallVon')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
170 .setValue(newValue);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
171 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
172 else if (thumb.index == 1) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
173 formPanel.getForm()
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
174 .findField('teilintervallBis')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
175 .setValue(newValue);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
176 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
177
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
178 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
179
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
180 /**
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
181 * When the IntervallFields were used,
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
182 * update the Slider
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
183 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
184 synchronizeSlider: function(field, newValue, oldValue) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
185 var formPanel = field.up('form');
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
186 if (field.name == 'teilintervallVon') {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
187 formPanel.down('probenintervallslider')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
188 .setValue(0, newValue, false);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
189 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
190 else if (field.name == 'teilintervallBis') {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
191 formPanel.down('probenintervallslider')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
192 .setValue(1, newValue, false);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
193 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
194
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
195 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
196 /**
972
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 857
diff changeset
197 * The save function saves the content of the Messprogramm form.
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
198 * On success it will reload the Store,
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
199 * on failure, it will display an Errormessage
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
200 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
201 save: function(button) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
202 var formPanel = button.up('form');
1231
e8dd06450f2c Two lines later we rely on having a specific field, dirty or not.
Tom Gottfried <tom@intevation.de>
parents: 1217
diff changeset
203 var data = formPanel.getForm().getFieldValues();
1217
4270da0f7d3b Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents: 1210
diff changeset
204 var orte = Ext.data.StoreManager.get('orte');
1250
5824c4b329f4 Fixed saving messprogramm.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1231
diff changeset
205 var gemId;
5824c4b329f4 Fixed saving messprogramm.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1231
diff changeset
206 if (data['ortId'] !== null && data['ortId'] !== '') {
5824c4b329f4 Fixed saving messprogramm.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1231
diff changeset
207 gemId = orte.getById(data['ortId']).get('gemId');
5824c4b329f4 Fixed saving messprogramm.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1231
diff changeset
208 }
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
209 for (var key in data) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
210 formPanel.getForm().getRecord().set(key, data[key]);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
211 }
1217
4270da0f7d3b Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents: 1210
diff changeset
212 formPanel.getForm().getRecord().set('gemId', gemId);
972
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 857
diff changeset
213 if (!formPanel.getForm().getRecord().get('letzteAenderung')) {
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 857
diff changeset
214 formPanel.getForm().getRecord().data.letzteAenderung = new Date();
24b5684d74d7 Set letzteAenderung in a Bunch of controllers.
Dustin Demuth <dustin@intevation.de>
parents: 857
diff changeset
215 }
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
216 formPanel.getForm().getRecord().save({
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
217 success: function(record, response) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
218 var json = Ext.decode(response.response.responseText);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
219 if (json) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
220 button.setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
221 button.up('toolbar').down('button[action=discard]')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
222 .setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
223 formPanel.clearMessages();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
224 formPanel.setRecord(record);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
225 formPanel.setMessages(json.errors, json.warnings);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
226 if (response.action === 'create' && json.success) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
227 button.up('window').close();
759
b7484c7da2d4 Unified the Messprogramm windows. Unfortunately the Roweditor of Messmethodengrid is broken in this commit. This is due to the fact that the Mmt store is noit autoloaded anymore
Dustin Demuth <dustin@intevation.de>
parents: 757
diff changeset
228 var win = Ext.create('Lada.view.window.Messprogramm', {
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
229 record: record
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
230 });
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
231 win.show();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
232 win.initData();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
233 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
234 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
235 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
236 failure: function(record, response) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
237 button.setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
238 button.up('toolbar').down('button[action=discard]')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
239 .setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
240 var rec = formPanel.getForm().getRecord();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
241 rec.dirty = false;
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
242 formPanel.getForm().loadRecord(record);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
243 var json = response.request.scope.reader.jsonData;
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
244 if (json) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
245 if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
246 formPanel.setMessages(json.errors, json.warnings);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
247 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
248
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
249 if(json.message){
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
250 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title')
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
251 +' #'+json.message,
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
252 Lada.getApplication().bundle.getMsg(json.message));
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
253 } else {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
254 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
255 Lada.getApplication().bundle.getMsg('err.msg.generic.body'));
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
256 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
257 formPanel.clearMessages();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
258 //formPanel.setRecord(record);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
259 formPanel.setMessages(json.errors, json.warnings);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
260 } else {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
261 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
262 Lada.getApplication().bundle.getMsg('err.msg.response.body'));
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
263 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
264
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
265 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
266 });
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
267 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
268
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
269 /**
1210
a24de34d6423 Align subintervall with validity for yearly samples.
Tom Gottfried <tom@intevation.de>
parents: 1198
diff changeset
270 * The discard function resets the form
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
271 * to its original state.
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
272 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
273 discard: function(button) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
274 var formPanel = button.up('form');
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
275 formPanel.getForm().loadRecord(formPanel.getForm().getRecord());
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
276 formPanel.getForm().owner.populateIntervall(
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
277 formPanel.getForm().getRecord());
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
278 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
279
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
280 /**
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
281 * The dirtyForm function enables or disables the save and discard
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
282 * button which are present in the toolbar of the form.
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
283 * The Buttons are only active if the content of the form was altered
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
284 * (the form is dirty).
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
285 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
286 dirtyForm: function(form, dirty) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
287 if (dirty) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
288 form.owner.down('button[action=save]').setDisabled(false);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
289 form.owner.down('button[action=discard]').setDisabled(false);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
290 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
291 else {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
292 form.owner.down('button[action=save]').setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
293 form.owner.down('button[action=discard]').setDisabled(true);
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
294 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
295 },
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
296
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
297 /**
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
298 * checkPeriod() is called when a fields defining an intervall
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
299 * were modified
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
300 * The function validates if the start is smaller than end.
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
301 */
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
302 checkPeriod: function(field) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
303 // This field might be a field within a Period.
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
304 // Search for Partner field (period: end/start) and validate
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
305 // End Before Start validation
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
306 if (field.period) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
307 var partners = new Array();
1194
c63acd44f8ca Fix regression of 40a07eb873bf to display errors and warnings again.
Tom Gottfried <tom@intevation.de>
parents: 1108
diff changeset
308 partners[0] = field.up('fieldset')
c63acd44f8ca Fix regression of 40a07eb873bf to display errors and warnings again.
Tom Gottfried <tom@intevation.de>
parents: 1108
diff changeset
309 .down('numberfield[period=start]').getValue();
c63acd44f8ca Fix regression of 40a07eb873bf to display errors and warnings again.
Tom Gottfried <tom@intevation.de>
parents: 1108
diff changeset
310 partners[1] = field.up('fieldset')
c63acd44f8ca Fix regression of 40a07eb873bf to display errors and warnings again.
Tom Gottfried <tom@intevation.de>
parents: 1108
diff changeset
311 .down('numberfield[period=end]').getValue();
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
312 if (partners[0] && partners[1] && partners[0] > partners [1]) {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
313 var msg = Lada.getApplication().bundle.getMsg('662');
1197
112fd60f1fb4 It is an error to specify invalid intervals.
Tom Gottfried <tom@intevation.de>
parents: 1194
diff changeset
314 field.up('fieldset').showWarningOrError(false, '', true, msg);
757
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
315 } else {
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
316 field.up('fieldset').clearMessages();
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
317 }
b8502964f5c3 Added missing files. Added MmtMockup
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
318 }
777
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
319 },
5a153d36ed4e ClearMessages
Dustin Demuth <dustin@intevation.de>
parents: 775
diff changeset
320
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
321
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
322 deskriptorSelect: function(field, records) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
323 var desk = field.up('deskriptor');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
324 var media = field.up('messprogrammform').down('textfield[name="mediaDesk"]');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
325 var current = media.getValue().split(' ');
1088
60af12dd4a13 Decreased descriptor string parts in Messprogramm.
Michael Stanko <mstanko@bfs.de>
parents: 1086
diff changeset
326 if (current.length < 12) {
1108
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
327 var value;
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
328 for (var i = 0; i <= 12; i++) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
329 if (i === 0) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
330 current.push('D:');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
331 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
332 else if (i === desk.layer + 1) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
333 var value;
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
334 if (records[0].get('sn') < 10) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
335 value = '0' + records[0].get('sn');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
336 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
337 else {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
338 value = records[0].get('sn');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
339 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
340 current.push(value);
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
341 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
342 else {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
343 current.push('00');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
344 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
345 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
346 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
347 else {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
348 var value;
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
349 if (records[0].get('sn') < 10) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
350 value = '0' + records[0].get('sn');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
351 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
352 else {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
353 value = records[0].get('sn');
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
354 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
355 current[desk.layer + 1] = value;
1086
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
356 if (desk.layer < 2) {
1088
60af12dd4a13 Decreased descriptor string parts in Messprogramm.
Michael Stanko <mstanko@bfs.de>
parents: 1086
diff changeset
357 for (var i = desk.layer + 2; i < 12; i++) {
1086
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
358 current[i] = '00';
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
359 }
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
360 this.clearChildDesk(desk);
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
361 }
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
362 else if (desk.layer === 2 && current[1] === '01') {
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
363 current[4] = '00';
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
364 desk.up('fieldset').down('deskriptor[layer=3]').clearValue();
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
365 }
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
366 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
367 media.setValue(current.join(' ').trim());
1108
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
368
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
369 if (current[0].length == 0) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
370 current.splice(0,1);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
371 }
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
372 var mediatext = field.up('messprogrammform').down('textfield[name="media"]');
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
373
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
374 if ( (desk.layer === 0 ) && (records[0].get('sn') === 0) ){
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
375 mediatext.setValue('');
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
376 } else {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
377 if ( current[1] === '01') {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
378 if ( (current[5] !== '00') && (desk.layer === 4 ) ){
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
379 //mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
380 } else if ( (current[4] !== '00') && (desk.layer === 3) ) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
381 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
382 } else if ( (current[3] !== '00') && (desk.layer === 2) ) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
383 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
384 } else if ( (current[2] !== '00') && (desk.layer === 1) ) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
385 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
386 } else if ( (current[1] !== '00') && (desk.layer === 0 )) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
387 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
388 }
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
389 }
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
390
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
391 if ( current[1] !== '01') {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
392 if ((current[2] !== '00') && (desk.layer === 1 )) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
393 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
394 } else if ((current[1] !== '00') && (desk.layer === 0 )) {
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
395 mediatext.setValue(records[0].data.beschreibung);
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
396 }
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
397 }
7baaf2cd3f57 Redesign in Messgrogrammform
Evi Huber <ehuber@bfs.de>
parents: 1088
diff changeset
398 }
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
399 },
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
400
1086
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
401 clearChildDesk: function(field) {
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
402 var allS = field.up('fieldset').items.items;
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
403 for (var i = field.layer + 1; i < 12; i++) {
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
404 allS[i].clearValue();
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
405 }
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
406 }
1086
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
407
61cc583c3649 Messprogramm form redesign
Michael Stanko <mstanko@bfs.de>
parents: 1070
diff changeset
408
784
f0b26df02157 Handle deskriptoren in messprogramm like in probe.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 777
diff changeset
409 });

http://lada.wald.intevation.org