annotate app/controller/grid/Datensatzerzeuger.js @ 1256:f961f94495c8

Remove erroneous error handling. This code seems to expect any LADA validation results coming along with an HTTP status not indicating success, which should not happen. Instead, Ext.JSON.decode() failed because of the non-JSON responseText resulting from other errors.
author Tom Gottfried <tom@intevation.de>
date Fri, 18 Nov 2016 19:46:15 +0100
parents 01bcca98ae8f
children
rev   line source
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
3 *
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
7 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
8
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
9 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
10 * This is a controller for a grid of Datensatzerzeuger Stammdaten
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
11 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.grid.Datensatzerzeuger', {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
14
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
15 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
16 * Inhitialize the controller
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
17 * It has 3 listeners
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
18 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
19 init: function() {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
20 this.control({
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
21 'datensatzerzeugergrid': {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
22 edit: this.gridSave,
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
23 canceledit: this.cancelEdit,
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
24 select: this.select,
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
25 deselect: this.buttonToggle,
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
26 itemdblclick: this.edit
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
27 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
28 'datensatzerzeugergrid button[action=add]': {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
29 click: this.add
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
30 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
31 'datensatzerzeugergrid button[action=delete]': {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
32 click: this.remove
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
33 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
34 });
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
35 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
36
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
37 select: function(rowModel, record) {
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
38 this.checkEdit(rowModel, record);
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
39 this.buttonToggle(rowModel, record);
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
40 },
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
41
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
42 checkEdit: function(rowModel, record) {
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
43 if (!Ext.Array.contains(Lada.netzbetreiber,
1089
01bcca98ae8f Allow row-editing for items with empty netzbetreiberId.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1081
diff changeset
44 record.get('netzbetreiberId')) &&
01bcca98ae8f Allow row-editing for items with empty netzbetreiberId.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1081
diff changeset
45 record.get('netzbetreiberId') !== '') {
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
46 var grid = Ext.ComponentQuery.query('datensatzerzeugergrid')[0];
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
47 grid.rowEditing.cancelEdit();
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
48 return;
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
49 }
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
50 },
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
51
1081
5e9a674d7bb4 Added Icon-column to stammdaten grid showing RW-status.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1079
diff changeset
52 edit: function(gridView, record) {
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
53 var grid = Ext.ComponentQuery.query('datensatzerzeugergrid')[0];
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
54 if (!Ext.Array.contains(Lada.netzbetreiber,
1089
01bcca98ae8f Allow row-editing for items with empty netzbetreiberId.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1081
diff changeset
55 record.get('netzbetreiberId')) &&
01bcca98ae8f Allow row-editing for items with empty netzbetreiberId.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1081
diff changeset
56 record.get('netzbetreiberId') !== '') {
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
57 grid.rowEditing.cancelEdit();
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
58 return;
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
59 }
1081
5e9a674d7bb4 Added Icon-column to stammdaten grid showing RW-status.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1079
diff changeset
60 grid.rowEditing.startEdit(record, 0);
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
61 grid.down('button[action=delete]').disable();
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
62 },
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
63
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
64 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
65 * This function is called when the grids roweditor saves
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
66 * the record.
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
67 * On success it refreshes the windows which contains the grid
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
68 * On failure it displays a message
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
69 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
70 gridSave: function(editor, context) {
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
71 var i18n = Lada.getApplication().bundle;
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
72 context.record.save({
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
73 success: function(record, response) {
1079
1c86a259c2ac Set letzteAenderung for new datensatzerzeuger.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1078
diff changeset
74 var grid = Ext.ComponentQuery.query('datensatzerzeugergrid')[0];
1c86a259c2ac Set letzteAenderung for new datensatzerzeuger.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1078
diff changeset
75 grid.store.reload();
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
76 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
77 failure: function(record, response) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
78 var json = response.request.scope.reader.jsonData;
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
79 if (json) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
80 if (json.message){
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
81 Ext.Msg.alert(i18n.getMsg('err.msg.save.title')
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
82 +' #'+json.message,
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
83 i18n.getMsg(json.message));
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
84 } else {
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
85 Ext.Msg.alert(i18n.getMsg('err.msg.save.title'),
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
86 i18n.getMsg('err.msg.generic.body'));
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
87 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
88 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
89 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
90 });
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
91 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
92
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
93 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
94 * When the edit was canceled,
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
95 * the empty row might have been created by the roweditor is removed
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
96 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
97 cancelEdit: function(editor, context) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
98 if (!context.record.get('id') ||
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
99 context.record.get('id') === '') {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
100 editor.getCmp().store.remove(context.record);
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
101 this.buttonToggle();
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
102 }
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
103 else {
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
104 this.buttonToggle(context.grid.getSelectionModel(), context.record);
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
105 }
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
106 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
107
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
108 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
109 * This function adds a new row to add a Datensatzerzeuger
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
110 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
111 add: function(button) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
112 var record = Ext.create('Lada.model.DatensatzErzeuger');
1079
1c86a259c2ac Set letzteAenderung for new datensatzerzeuger.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1078
diff changeset
113 if (!record.get('letzteAenderung')) {
1c86a259c2ac Set letzteAenderung for new datensatzerzeuger.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1078
diff changeset
114 record.data.letzteAenderung = new Date();
1c86a259c2ac Set letzteAenderung for new datensatzerzeuger.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1078
diff changeset
115 }
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
116 button.up('datensatzerzeugergrid').store.insert(0, record);
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
117 button.up('datensatzerzeugergrid').rowEditing.startEdit(0, 1);
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
118 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
119
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
120 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
121 * A record can be removed from the grid with the remove
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
122 * function. It asks the user for confirmation
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
123 * If the removal was confirmed, it reloads the parent window on success,
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
124 * on failure, an error message is shown.
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
125 */
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
126 remove: function(button) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
127 var grid = button.up('grid');
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
128 var selection = grid.getView().getSelectionModel().getSelection()[0];
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
129 var i18n = Lada.getApplication().bundle;
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
130 //TODO: i18n
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
131 Ext.MessageBox.confirm(i18n.getMsg('delete'),
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
132 i18n.getMsg('confirmation.question'),
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
133 function(btn) {
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
134 if (btn === 'yes') {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
135 selection.destroy({
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
136 success: function() {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
137 //DO NOTHING
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
138 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
139 failure: function(request, response) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
140 var json = response.request.scope.reader.jsonData;
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
141 if (json) {
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
142 if (json.message){
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
143 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title')
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
144 +' #'+json.message,
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
145 i18n.getMsg(json.message));
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
146 } else {
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
147 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title'),
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
148 i18n.getMsg('err.msg.generic.body'));
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
149 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
150 } else {
1003
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
151 Ext.Msg.alert(i18n.getMsg('err.msg.delete.title'),
15d8c64049d1 Datensatzerzeuger now uses the server. Added i18n to confirmation messages
Dustin Demuth <dustin@intevation.de>
parents: 984
diff changeset
152 i18n.getMsg('err.msg.response.body'));
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
153 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
154 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
155 });
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
156 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
157 });
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
158 grid.down('button[action=delete]').disable();
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
159 },
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
160
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
161 /**
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
162 * Enables/Disables a set of buttons
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
163 **/
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
164 buttonToggle: function(rowModel, record) {
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
165 if (!Ext.Array.contains(Lada.funktionen, 4)) {
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
166 return;
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
167 }
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
168 var grid = Ext.ComponentQuery.query('datensatzerzeugergrid')[0];
1078
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
169 if (!record ||
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
170 !Ext.Array.contains(Lada.netzbetreiber,
fe5fb960da9d Handle edit and delete status for stammdaten objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1059
diff changeset
171 record.get('netzbetreiberId'))) {
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
172 grid.down('button[action=delete]').disable();
1059
fa422d69940c Fixed button toggle on cancel edit.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1039
diff changeset
173 return;
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
174 }
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
175 if (record.get('readonly') ||
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
176 rowModel.selected.items.length === 0) {
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
177 grid.down('button[action=delete]').disable();
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
178 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
179 else {
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
180 if (grid.getPlugin('rowedit').editing) {
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
181 //only enable buttons, when grid is not beeing edited
1039
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
182 grid.down('button[action=delete]').disable();
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
183 }
77e22ad5cc84 Use user 'funktionen' attribute to set read/write status for stammdaten.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1003
diff changeset
184 else {
984
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
185 grid.down('button[action=delete]').enable();
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
186 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
187 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
188 }
b21421ba6917 added buttons for datensatzerzeuger, pobenehmer, added controllers
Dustin Demuth <dustin@intevation.de>
parents:
diff changeset
189 });

http://lada.wald.intevation.org