annotate app/view/window/SetStatus.js @ 1293:16a80ca16732

map feature visibility, selection and grid layout messpunkt layer is now visible per default when in editing mode on selection in map, the form is updated ortszuordnung buttons should not render over grid anymore
author Maximilian Krambach <mkrambach@intevation.de>
date Wed, 01 Feb 2017 19:38:06 +0100
parents 38599f18c863
children
rev   line source
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 *
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 */
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 /**
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 * This is a simple Window to set the Status for multiple Messungen on bulk.
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 */
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.view.window.SetStatus', {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 extend: 'Ext.window.Window',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 alias: 'setstatuswindow',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 requires: [
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 'Lada.view.widget.Status'
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 ],
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 grid: null,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 selection: null,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 modal: true,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 closable: false,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 resultMessage: '',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 /**
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 * This function initialises the Window
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 */
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 initComponent: function() {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 var i18n = Lada.getApplication().bundle;
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 var me = this;
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
33 var statusWerteStore = Ext.create('Lada.store.StatusWerte');
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
34 statusWerteStore.load({
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
35 params: {
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
36 messungsId: Ext.Array.pluck(this.selection, 'id').toString()
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
37 }
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
38 });
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
39
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 this.items = [{
1228
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
41 xtype: 'form',
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 name: 'valueselection',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 border: 0,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 items: [{
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 xtype: 'fieldset',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 title: 'Status für ' + this.selection.length + ' Messung(en) setzen',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 margin: '5, 5, 10, 5',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 items: [{
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 xtype: 'combobox',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 store: Ext.data.StoreManager.get('messstellenFiltered'),
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 displayField: 'messStelle',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 valueField: 'id',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 allowBlank: false,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 queryMode: 'local',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
55 editable: false,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
56 width: 300,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57 labelWidth: 100,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58 emptyText: 'Wählen Sie einen Erzeuger aus.',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 fieldLabel: i18n.getMsg('statusgrid.header.erzeuger')
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 }, {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 xtype: 'statuswert',
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
62 store: statusWerteStore,
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 allowBlank: false,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 width: 300,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 labelWidth: 100,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 fieldLabel: i18n.getMsg('statusgrid.header.statusWert')
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67 }, {
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
68 xtype: 'combobox',
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
69 name: 'statusstufe',
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
70 store: Ext.data.StoreManager.get('statusstufe'),
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
71 displayField: 'stufe',
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
72 valueField: 'id',
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
73 allowBlank: false,
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
74 editable: false,
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
75 forceSelection: true,
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
76 width: 300,
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
77 labelWidth: 100,
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
78 fieldLabel: i18n.getMsg('statusgrid.header.statusStufe')
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
79 }, {
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 xtype: 'textarea',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
81 width: 300,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 height: 100,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 labelWidth: 100,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84 fieldLabel: i18n.getMsg('statusgrid.header.text'),
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85 emptyText: 'Geben Sie einen Kommentar ein.'
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86 }]
1228
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
87 }],
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
88 buttons: [{
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
89 text: i18n.getMsg('statusSetzen'),
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
90 name: 'start',
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
91 icon: 'resources/img/mail-mark-notjunk.png',
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
92 formBind: true,
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
93 disabled: true,
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
94 handler: this.setStatus
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
95 }, {
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
96 text: i18n.getMsg('cancel'),
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
97 name: 'abort',
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
98 handler: this.closeWindow
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 }]
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 }, {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 xtype: 'panel',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102 hidden: true,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 margin: '5, 5, 5, 5',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 overflow: 'auto',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 name: 'result'
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106 }, {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 xtype: 'progressbar',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 margin: '5, 5, 5, 5',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109 hidden: true,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 text: 'Verarbeite Statusänderungen'
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 }];
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112 this.buttons = [{
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 text: i18n.getMsg('close'),
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114 name: 'close',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 hidden: true,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 handler: this.closeWindow
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 }];
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 this.callParent(arguments);
1228
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
120
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
121 // Initially validate to indicate mandatory fields clearly.
d5b9a5c75872 Enable validation for SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1114
diff changeset
122 this.down('form').isValid();
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123 },
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 /**
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126 * @private
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 * A handler for a Abort-Button
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128 */
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
129 closeWindow: function(button) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
130 var win = button.up('window');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
131 win.close();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
132 },
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
133
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
134 /**
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
135 * @private
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
136 * A handler to setStatus on Bulk.
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
137 */
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
138 setStatus: function(button) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
139 var win = button.up('window');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
140 win.down('panel').disable();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
141 win.down('button[name=start]').disable();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
142 win.down('button[name=abort]').disable();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
143 var progress = win.down('progressbar');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144 progress.show();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145 win.send();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 },
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
147
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 send: function() {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
149 var i18n = Lada.getApplication().bundle;
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
150 var me = this;
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
151 var progress = me.down('progressbar');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
152 var progressText = progress.getText();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
153 var count = 0;
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
154
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
155 var wert = me.down('statuswert').getValue();
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
156 var stufe = me.down('[name=statusstufe]').getValue();
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
157 var kombis = Ext.data.StoreManager.get('statuskombi');
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
158 var kombiIdx = kombis.findBy(function(record) {
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
159 return record.get('statusStufe').id === stufe
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
160 && record.get('statusWert').id === wert;
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
161 });
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
162 if (kombiIdx < 0) {
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
163 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
164 'Unerlaubte Kombination aus Status und Stufe');
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
165 me.down('button[name=close]').show();
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
166 return;
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
167 }
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
168
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 for (var i = 0; i < this.selection.length; i++) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
170 var data = Ext.create('Lada.model.Status', {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
171 messungsId: this.selection[i].get('id'),
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
172 mstId: this.down('combobox').getValue(),
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
173 datum: new Date(),
1230
38599f18c863 Fix setting status in bulk via SetStatus window.
Tom Gottfried <tom@intevation.de>
parents: 1228
diff changeset
174 statusKombi: kombis.getAt(kombiIdx).get('id'),
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
175 text: this.down('textarea').getValue()
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
176 });
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
177 Ext.Ajax.request({
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
178 url: 'lada-server/rest/status',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
179 method: 'POST',
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
180 jsonData: data.raw,
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
181 success: function(response) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
182 var json = Ext.JSON.decode(response.responseText);
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
183 me.resultMessage += '<strong>' + i18n.getMsg('messung') + ': ';
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
184 var sel = me.selection[count];
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
185 me.resultMessage += sel.get('hauptprobenNr') + ' - ' + sel.get('nebenprobenNr') + '</strong><br><dd>';
1099
7a71723fda83 Added status protocol specific messages.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1082
diff changeset
186 me.resultMessage += i18n.getMsg('status-' + json.message) + '</dd><br>';
1082
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
187 count++;
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
188 progress.updateProgress(count / me.selection.length, progressText + ' (' + count + ')');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
189 if (count === me.selection.length) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
190 var result = me.down('panel[name=result]');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
191 var values = me.down('panel[name=valueselection]');
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
192 me.down('button[name=start]').hide();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
193 me.down('button[name=abort]').hide();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
194 me.down('button[name=close]').show();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
195 result.setSize(values.getWidth(), values.getHeight());
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196 result.getEl().setHTML(me.resultMessage);
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
197 result.show();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
198 values.hide();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
199 }
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
200 },
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
201 failure: function(response) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
202 console.log(response);
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
203 count++;
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
204 progress.updateProgress(count / me.selection.length);
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
205 if (count === me.selection.length) {
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
206 me.close();
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
207 }
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
208 }
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
209 });
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
210 }
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
211 }
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
212 });
dbd435256f77 Open status edit window and send status objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
213

http://lada.wald.intevation.org