Mercurial > lada > lada-client
annotate app/controller/grid/Status.js @ 1032:fa04558f35cd
Load messung grid columns as record fields to get rid of 'Ext.fly'
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 18 Feb 2016 11:16:55 +0100 |
parents | 859e2e9859cd |
children | 8e579acfe0b1 |
rev | line source |
---|---|
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 * |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 */ |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
9 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
10 * This is a controller for a grid of Status |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
11 */ |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 Ext.define('Lada.controller.grid.Status', { |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 extend: 'Ext.app.Controller', |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
15 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
16 * Initialize the Controller with |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
17 * 3 Listeners |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
18 */ |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
19 init: function() { |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 this.control({ |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 'statusgrid': { |
637
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
22 edit: this.gridSave, |
945
023e622f9551
Added the ability to work with "StatusWerten" which are delivered by the lada-server.
Dustin Demuth <dustin@intevation.de>
parents:
944
diff
changeset
|
23 canceledit: this.cancelEdit, |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 }, |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 'statusgrid button[action=add]': { |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 click: this.add |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
27 }, |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
28 'statusgrid button[action=reset]': { |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
29 click: this.reset |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 } |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 }); |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 }, |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
34 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
35 * This function is called when the grids roweditor saves |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
36 * the record. |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
37 * On success it refreshes the windows which contains the grid |
974
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
38 * it also tries to refresh the ProbeWindow and the messunggrid |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
39 * On failure it displays a message |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
40 */ |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
41 gridSave: function(editor, context) { |
944 | 42 context.record.set('sdatum', new Date()); |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 context.record.save({ |
1025
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
44 success: function(response) { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
45 var i18n = Lada.getApplication().bundle; |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
46 var json = Ext.JSON.decode(response.responseText); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
47 |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
48 if(json) { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
49 if (!json.success) { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
50 if(json.message){ |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
51 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title') |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
52 +' #'+json.message, |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
53 i18n.getMsg(json.message)); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
54 } else { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
55 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
56 i18n.getMsg('err.msg.generic.body')); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
57 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
58 } else { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
59 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
60 i18n.getMsg('err.msg.generic.body')); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
61 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
62 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
63 |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 context.grid.initData(); |
974
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
65 var win = context.grid.up('window'); |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
66 win.initData(); |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
67 try { |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
68 win.parentWindow.initData(); |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
69 win.parentWindow.down('messunggrid').store.reload(); |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
70 } |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
71 catch(e) { |
ea477f62a667
Refresh a Probe and its Messungengrid when the status of a messung was changed
Dustin Demuth <dustin@intevation.de>
parents:
970
diff
changeset
|
72 } |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 }, |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
74 failure: function(request, response) { |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
75 var i18n = Lada.getApplication().bundle; |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
76 var json = response.request.scope.reader.jsonData; |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
77 if (json) { |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
78 if (json.message){ |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
79 Ext.Msg.alert(i18n.getMsg('err.msg.save.title') |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
80 +' #'+json.message, |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
81 i18n.getMsg(json.message)); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
82 } else { |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
83 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
84 i18n.getMsg('err.msg.generic.body')); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
85 } |
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
86 } else { |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
87 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'), |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
88 i18n.getMsg('err.msg.response.body')); |
701
f0bc5387abcc
Added failure - Messages
Dustin Demuth <dustin@intevation.de>
parents:
637
diff
changeset
|
89 } |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 } |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 }); |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 }, |
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
94 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
95 * When the edit was canceled, |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
96 * the empty row might have been created by the roweditor is removed |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
97 */ |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
98 cancelEdit: function(editor, context) { |
637
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
99 if (!context.record.get('id') || |
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
100 context.record.get('id') === '') { |
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
101 editor.getCmp().store.remove(context.record); |
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
102 } |
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
103 }, |
8acb3123b46c
Remove a new record on cancel in grids with rowediting plugin.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
594
diff
changeset
|
104 |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
105 /** |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
106 * This function adds a new row to add a Status |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
107 * and copies the data of the previous status into the new one |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
108 * if possible. |
742
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
109 */ |
6e28ebbe1a73
added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents:
701
diff
changeset
|
110 add: function(button) { |
945
023e622f9551
Added the ability to work with "StatusWerten" which are delivered by the lada-server.
Dustin Demuth <dustin@intevation.de>
parents:
944
diff
changeset
|
111 var lastrow = button.up('statusgrid').store.count() |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 |
992
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
113 // retrive current status from the messung. |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
114 var s = button.up('window').down('messungform').getRecord().get('status'); |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
115 var recentStatus = button.up('statusgrid').store.getById(s); |
945
023e622f9551
Added the ability to work with "StatusWerten" which are delivered by the lada-server.
Dustin Demuth <dustin@intevation.de>
parents:
944
diff
changeset
|
116 |
1001
e92931b8f6b0
A fix which is supposed to reload the statuswerte store, when the Add button is used, part 2
Dustin Demuth <dustin@intevation.de>
parents:
1000
diff
changeset
|
117 button.up('statusgrid').statusWerteStore.reload(); |
1000
5beb2581a989
A fix which is supposed to reload the statuswerte store, when the Add button is used
Dustin Demuth <dustin@intevation.de>
parents:
998
diff
changeset
|
118 |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
119 //If possible copy the previous record into the new one. |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
120 //this assumes the store is ordered correctly, most recent status last. |
992
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
121 // Do not copy, if current userid differs from the id of the current status |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
122 if (lastrow > 0 && |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
123 Ext.Array.contains(Lada.mst, recentStatus.get('erzeuger'))) { |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
124 |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
125 if (recentStatus) { |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
126 // clone the status |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
127 var record = recentStatus.copy() |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
128 } |
77ea9a5c5f1d
Do not clone the Status if the Recent UserID differs from the Recent Status Erzeuger. In addition: Use a Method to determine the recent status which does not require correct ordering of status
Dustin Demuth <dustin@intevation.de>
parents:
990
diff
changeset
|
129 |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
130 record.set('id', null); |
1023
3e9ff7786d2c
Do not Copy the StatusWert if it equals 0
Dustin Demuth <dustin@intevation.de>
parents:
1007
diff
changeset
|
131 if (record.get('statusWert') === 0) { |
1027
859e2e9859cd
Fixed an issue concerning the selection of status
Dustin Demuth <dustin@intevation.de>
parents:
1025
diff
changeset
|
132 record.set('statusWert', ''); |
1023
3e9ff7786d2c
Do not Copy the StatusWert if it equals 0
Dustin Demuth <dustin@intevation.de>
parents:
1007
diff
changeset
|
133 } |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
134 } else { |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
135 //create a new one |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
136 var record = Ext.create('Lada.model.Status', { |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
137 messungsId: button.up('statusgrid').recordId |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
138 }); |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
139 } |
945
023e622f9551
Added the ability to work with "StatusWerten" which are delivered by the lada-server.
Dustin Demuth <dustin@intevation.de>
parents:
944
diff
changeset
|
140 |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
141 //Set the Date |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
142 record.set('datum', new Date()); |
945
023e622f9551
Added the ability to work with "StatusWerten" which are delivered by the lada-server.
Dustin Demuth <dustin@intevation.de>
parents:
944
diff
changeset
|
143 |
990
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
144 button.up('statusgrid').store.insert(lastrow, record); |
c2a726887dd7
The last status can not be edited anymore. When a new status is added, the new record is preset with ALL previous variables, this includes the StatusStufe! The Date is corrected to the current date. Also the store is sorted by Datum now.
Dustin Demuth <dustin@intevation.de>
parents:
974
diff
changeset
|
145 button.up('statusgrid').getPlugin('rowedit').startEdit(lastrow, 1); |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
146 }, |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
147 |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
148 /** |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
149 * Reset |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
150 * This Function instructs the server to reset the current status |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
151 * WIP / TODO |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
152 * |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
153 **/ |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
154 reset: function(button) { |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
155 var me = this; |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
156 var rstbutton = button; |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
157 var i18n = Lada.getApplication().bundle; |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
158 Ext.MessageBox.confirm( |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
159 i18n.getMsg('statusgrid.reset.mbox.title'), |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
160 i18n.getMsg('statusgrid.reset.mbox.text'), |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
161 function(btn) { |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
162 if (btn === 'yes') { |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
163 me.doReset(rstbutton); |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
164 } |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
165 }); |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
166 }, |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
167 |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
168 doReset: function(button) { |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
169 var i18n = Lada.getApplication().bundle; |
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
170 |
1002
54179b6043b6
Set ResetStatusValue to 8
Dustin Demuth <dustin@intevation.de>
parents:
1001
diff
changeset
|
171 var resetStatusValue = 8; |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
172 |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
173 var s = button.up('window').down('messungform').getRecord().get('status'); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
174 var messId = button.up('window').down('messungform').getRecord().get('id'); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
175 var recentStatus = button.up('statusgrid').store.getById(s); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
176 |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
177 //Set Status to 'Resetted' (8) |
996
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
178 if (recentStatus) { |
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
179 var record = recentStatus.copy(); |
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
180 record.set('datum', new Date()); |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
181 record.set('statusWert', resetStatusValue); |
996
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
182 record.set('id', null); |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
183 record.set('text', i18n.getMsg('statusgrid.resetText')); |
996
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
184 } |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
185 |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
186 Ext.Ajax.request({ |
1007 | 187 url: 'lada-server/rest/status', |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
188 jsonData: record.getData(), |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
189 method: 'POST', |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
190 success: function(response) { |
1025
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
191 var i18n = Lada.getApplication().bundle; |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
192 var json = Ext.JSON.decode(response.responseText); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
193 |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
194 if(json) { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
195 if (!json.success) { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
196 if(json.message){ |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
197 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title') |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
198 +' #'+json.message, |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
199 i18n.getMsg(json.message)); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
200 } else { |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
201 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
202 i18n.getMsg('err.msg.generic.body')); |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
203 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
204 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
205 } |
2329acae1705
Added Error handlers for Statuswerte
Dustin Demuth <dustin@intevation.de>
parents:
1023
diff
changeset
|
206 |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
207 button.up('window').initData(); |
996
bf7bb9583a40
Statusworkflow: More work on the reset Button
Dustin Demuth <dustin@intevation.de>
parents:
994
diff
changeset
|
208 button.up('grid').initData(); |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
209 }, |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
210 failure: function(response) { |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
211 // TODO sophisticated error handling, with understandable Texts |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
212 var i18n = Lada.getApplication().bundle; |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
213 var json = Ext.JSON.decode(response.responseText); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
214 if (json) { |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
215 if(json.message){ |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
216 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title') |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
217 +' #'+json.message, |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
218 i18n.getMsg(json.message)); |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
219 } else { |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
220 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
221 i18n.getMsg('err.msg.generic.body')); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
222 } |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
223 } else { |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
224 Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'), |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
225 i18n.getMsg('err.msg.generic.body')); |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
226 } |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
227 } |
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
228 }); |
998
4bbb3da88c14
Statusreset: added a confirmation dialog and i18n
Dustin Demuth <dustin@intevation.de>
parents:
996
diff
changeset
|
229 } |
994
092e245b13a4
draft implementation of the status-reset function: Todo: move this into a 'confirmation dialog'
Dustin Demuth <dustin@intevation.de>
parents:
992
diff
changeset
|
230 |
594
89b337cbfb5d
Added status grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 }); |