annotate app/controller/form/Ortserstellung.js @ 1361:5c2d6812d85a

Merge behaviour of Stammdaten panel and ortszuordnungs grid according to the recent changes in Ortszuordnung and Ortserstellung.
author Maximilian Krambach <mkrambach@intevation.de>
date Tue, 07 Feb 2017 19:50:36 +0100
parents d1dce50fa9a6
children b58868c47f02
rev   line source
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
3 *
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
7 */
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
8
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
9 /*
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
10 * This is a controller for an Ortserstellung Form
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
11 */
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.form.Ortserstellung', {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
14
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
15 /**
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
16 * Initialize the Controller
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
17 */
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
18 init: function() {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
19 this.control({
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
20 'ortserstellungsform button[action=save]': {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
21 click: this.save
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
22 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
23 'ortserstellungsform button[action=revert]': {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
24 click: this.discard
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
25 },
1342
d5e270fa91e4 fix: Ortserstellung for Staaten and validity check triggers
Maximilian Krambach <mkrambach@intevation.de>
parents: 1339
diff changeset
26 'ortserstellungsform staat combobox' : {
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
27 change: this.checkCommitEnabled
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
28 },
1342
d5e270fa91e4 fix: Ortserstellung for Staaten and validity check triggers
Maximilian Krambach <mkrambach@intevation.de>
parents: 1339
diff changeset
29 'ortserstellungsform verwaltungseinheit combobox' : {
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
30 change: this.checkCommitEnabled
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
31 },
1342
d5e270fa91e4 fix: Ortserstellung for Staaten and validity check triggers
Maximilian Krambach <mkrambach@intevation.de>
parents: 1339
diff changeset
32 'ortserstellungsform koordinatenart combobox': {
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
33 change: this.checkCommitEnabled
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
34 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
35 'ortserstellungsform numfield [name=koordXExtern]': {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
36 change: this.checkCommitEnabled
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
37 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
38 'ortserstellungsform numfield [name=koordYExtern]': {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
39 change: this.checkCommitEnabled
1352
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
40 },
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
41 'ortserstellungsform': {
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
42 validitychange: this.checkCommitEnabled,
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
43 dirtychange: this.checkCommitEnabled
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
44 },
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
45 });
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
46 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
47
1339
1a2cd9bef6d7 messprogramm zuordnung now functional
Maximilian Krambach <mkrambach@intevation.de>
parents: 1337
diff changeset
48 save: function(button) {
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
49 var me = this;
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
50 var formpanel = button.up('ortserstellungsform');
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
51 var form = formpanel.getForm();
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
52 var record = form.getRecord();
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
53 var data = form.getFieldValues(true);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
54 for (var key in data) {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
55 record.set(key, data[key]);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
56 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
57 record.set('id', null);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
58 record.set('netzbetreiberId', Lada.netzbetreiber[0]);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
59 record.save({
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
60 success: function(newrecord, response) {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
61 form.loadRecord(newrecord);
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
62 formpanel.down('verwaltungseinheit').store.clearFilter();
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
63 formpanel.down('staat').store.clearFilter();
1339
1a2cd9bef6d7 messprogramm zuordnung now functional
Maximilian Krambach <mkrambach@intevation.de>
parents: 1337
diff changeset
64 button.setDisabled(true);
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
65 formpanel.down('button[action=revert]').setDisabled(true);
1339
1a2cd9bef6d7 messprogramm zuordnung now functional
Maximilian Krambach <mkrambach@intevation.de>
parents: 1337
diff changeset
66 button.hide();
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
67 var ozw = formpanel.up('panel').parentWindow;
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
68 var json = Ext.decode(response.response.responseText);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
69 if (json) {
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
70 formpanel.clearMessages();
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
71 formpanel.setMessages(json.errors, json.warnings);
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
72 }
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
73 if (ozw.ortstore) {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
74 ozw.ortstore.load({
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
75 callback: function(records, operation, success) {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
76 me.afterSave(formpanel, ozw.ortstore, json);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
77 },
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
78 scope: this
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
79 });
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
80 } else {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
81 ozw.setStore();
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
82 me.afterSave(formpanel, ozw.getStore(), json);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
83 }
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
84 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
85 failure: function(record, response) {
1357
b96d98f0cb71 Fix handling of errors and warnings in Ortserstellung form.
Tom Gottfried <tom@intevation.de>
parents: 1355
diff changeset
86 var json = response.request.scope.reader.jsonData;
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
87 if (json) {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
88 if(json.message){
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
89 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title')
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
90 +' #'+json.message,
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
91 Lada.getApplication().bundle.getMsg(json.message));
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
92 } else {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
93 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
94 Lada.getApplication().bundle.getMsg('err.msg.generic.body'));
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
95 }
1357
b96d98f0cb71 Fix handling of errors and warnings in Ortserstellung form.
Tom Gottfried <tom@intevation.de>
parents: 1355
diff changeset
96 me.clearMessages();
b96d98f0cb71 Fix handling of errors and warnings in Ortserstellung form.
Tom Gottfried <tom@intevation.de>
parents: 1355
diff changeset
97 me.setMessages(json.errors, json.warnings);
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
98 } else {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
99 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
100 Lada.getApplication().bundle.getMsg('err.msg.response.body'));
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
101 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
102 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
103 });
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
104 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
105
1361
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
106 /**
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
107 * Callbacks after a Ort has been saved and the store is reloaded
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
108 */
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
109 afterSave: function(form, store, json) {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
110 var ozw = form.up('panel').parentWindow;
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
111 ozw.down('map').addLocations(ozw.ortstore);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
112 var osg = ozw.down('ortstammdatengrid');
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
113 osg.setStore(ozw.ortstore);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
114 var id = json.data.id;
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
115 var record = osg.store.getById(id);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
116 var selmod = osg.getView().getSelectionModel();
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
117 selmod.select(record);
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
118 var resulttext;
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
119 if (json) {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
120 if (json.message == '201') {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
121 resulttext = 'Dieser Ort existiert bereits!';
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
122 }
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
123 if (json.message == '200') {
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
124 resulttext = 'Ort erfolgreich angelegt!';
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
125 }
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
126 }
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
127 Ext.Msg.show({
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
128 title: Lada.getApplication().bundle.getMsg('success'),
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
129 autoScroll: true,
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
130 msg: resulttext,
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
131 buttons: Ext.Msg.OK
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
132 });
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
133 },
5c2d6812d85a Merge behaviour of Stammdaten panel and ortszuordnungs grid
Maximilian Krambach <mkrambach@intevation.de>
parents: 1360
diff changeset
134
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
135 discard: function(button) {
1360
d1dce50fa9a6 Fix reset button in Ortserstellung form.
Tom Gottfried <tom@intevation.de>
parents: 1359
diff changeset
136 button.up('panel').getForm().reset();
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
137 },
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
138
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
139 /**
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
140 * checks if the Messpunkt can be committed.
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
141 * Disables the save button if false
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
142 */
1352
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
143 checkCommitEnabled: function(callingEl) {
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
144 var panel;
1352
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
145 if (callingEl.up) { //called by a field in the form
1354
02252ce0cf1e Ortserstellung validator: fix reference to form
Maximilian Krambach <mkrambach@intevation.de>
parents: 1352
diff changeset
146 panel = callingEl.up('ortserstellungsform');
1352
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
147 } else { //called by the form
e5235309d461 fixed validitycheck in Ortserstellung
Maximilian Krambach <mkrambach@intevation.de>
parents: 1342
diff changeset
148 panel = callingEl.owner;
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
149 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
150 var savebutton = panel.down('button[action=save]');
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
151 var form = panel.getForm();
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
152 if (form.isDirty()) {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
153 panel.down('button[action=revert]').setDisabled(false);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
154 } else {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
155 panel.down('button[action=revert]').setDisabled(true);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
156 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
157 if (form.isValid()) {
1359
49efc1cc0eac Remove trailing whitespace.
Tom Gottfried <tom@intevation.de>
parents: 1357
diff changeset
158 //one of three conditions must apply, the first one depending
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
159 // on three fields
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
160 if (
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
161 (form.findField('kdaId').getValue()
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
162 && form.findField('koordYExtern').getValue()
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
163 && form.findField('koordXExtern').getValue()
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
164 )
1342
d5e270fa91e4 fix: Ortserstellung for Staaten and validity check triggers
Maximilian Krambach <mkrambach@intevation.de>
parents: 1339
diff changeset
165 || form.findField('gemId').getValue() !== null
d5e270fa91e4 fix: Ortserstellung for Staaten and validity check triggers
Maximilian Krambach <mkrambach@intevation.de>
parents: 1339
diff changeset
166 || form.findField('staatId').getValue() !== null
1337
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
167 ) {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
168 savebutton.setDisabled(false);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
169 } else {
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
170 savebutton.setDisabled(true);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
171 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
172 } else { //form invalid
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
173 savebutton.setDisabled(true);
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
174 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
175 }
7194964183f4 Ortserstellung controller separated from form
Maximilian Krambach <mkrambach@intevation.de>
parents:
diff changeset
176 });

http://lada.wald.intevation.org