annotate app/controller/grid/Messung.js @ 1074:ca204e91012f

Enable add-Button only if the user is authorized.
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 07 Apr 2016 14:02:51 +0200
parents 6a6f2c6fe8ee
children a73726bba79c
rev   line source
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 *
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU GPL (v>=3)
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6 * the documentation coming with IMIS-Labordaten-Application for details.
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 */
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 /*
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 * Controller for a Messungengrid
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 */
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 Ext.define('Lada.controller.grid.Messung', {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 extend: 'Ext.app.Controller',
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 requires: [
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 'Lada.view.window.MessungEdit'
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 ],
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
19 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
20 * Inhitialize the controller
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
21 * It has 3 listeners
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
22 */
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 init: function() {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 this.control({
592
825973ca386f Updated missing name changes for messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 591
diff changeset
25 'messunggrid': {
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 itemdblclick: this.editItem
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 },
592
825973ca386f Updated missing name changes for messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 591
diff changeset
28 'messunggrid button[action=add]': {
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 click: this.add
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 },
592
825973ca386f Updated missing name changes for messung grid.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 591
diff changeset
31 'messunggrid button[action=delete]': {
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 click: this.remove
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 }
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 });
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 },
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
37 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
38 * This function opens a new {@link Lada.view.window.MessungEdit}
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
39 * Window.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
40 */
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 editItem: function(grid, record) {
690
e88381fb3bdb Use treeModiefied timestamp to determine if working with 'old' objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 644
diff changeset
42 var probe = grid.up('window').record;
962
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
43 /* Only open a new Window when:
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
44 statusEdit = True
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
45 -or-
963
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
46 the value of status is not 0
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
47 -or-
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
48 the owner = True
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
49
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
50 the statusWert attribute is not present in the original data.
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
51 it is appended, when the value and name of the status were
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
52 determined.
962
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
53 */
963
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
54 if (record.get('statusEdit')
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
55 || record.get('statusWert') > 0
6a6f2c6fe8ee More work done on StatusWerte and Statusstufe. A Messung will also open when the owner attribute is true. Stauswerte and StatusStufen are loaded at application startup. Statusgrid and Messunggrid now use these stores, which were registered at the store manager.
Dustin Demuth <dustin@intevation.de>
parents: 962
diff changeset
56 || record.get('owner')) {
962
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
57 var win = Ext.create('Lada.view.window.MessungEdit', {
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
58 parentWindow: grid.up('window'),
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
59 probe: probe,
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
60 record: record,
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
61 grid: grid
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
62 });
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
63 win.show();
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
64 win.initData();
9b6800458a9e Altered permissions to open a Messung from the Messung-grid. Opening a Messung is only possible, when: a) StatusEdit=True or b) StatusWert > 0
Dustin Demuth <dustin@intevation.de>
parents: 826
diff changeset
65 }
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
66 },
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
67
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
68 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
69 * This function opens a window add a Messung
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
70 */
622
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
71 add: function(button) {
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
72 var probe = button.up('window').record;
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
73 var win = Ext.create('Lada.view.window.MessungCreate', {
644
71e8b84d7829 Reload grids on messung or ort changed/added.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 622
diff changeset
74 record: probe,
71e8b84d7829 Reload grids on messung or ort changed/added.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 622
diff changeset
75 grid: button.up('messunggrid')
622
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
76 });
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
77 win.show();
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
78 win.initData();
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 },
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80
742
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
81 /**
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
82 * This function removes a Messung
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
83 * It displays a Confirmation-Popup.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
84 * When the Removal was confirmed and the operation was successful,
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
85 * the Messung-row is removed from the grid.
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
86 * On failure an Errormessage is shown
6e28ebbe1a73 added documentation for Form and Grid controllers
Dustin Demuth <dustin@intevation.de>
parents: 705
diff changeset
87 */
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 remove: function(button) {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 var grid = button.up('grid');
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 var selection = grid.getView().getSelectionModel().getSelection()[0];
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 Ext.MessageBox.confirm(
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 'Messung löschen',
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93 'Sind Sie sicher?',
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
94 function(btn) {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 if (btn === 'yes') {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 selection.destroy({
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 success: function() {
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 button.up('window').initData();
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 },
705
cc9107d9be17 ResponseObject was not defined
Dustin Demuth <dustin@intevation.de>
parents: 704
diff changeset
100 failure: function(request, response) {
704
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
101 var json = response.request.scope.reader.jsonData;
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
102 if (json) {
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
103 if (json.message){
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
104 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.delete.title')
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
105 +' #'+json.message,
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
106 Lada.getApplication().bundle.getMsg(json.message));
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
107 } else {
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
108 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.delete.title'),
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
109 Lada.getApplication().bundle.getMsg('err.msg.generic.body'));
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
110 }
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
111 } else {
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
112 Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.delete.title'),
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
113 Lada.getApplication().bundle.getMsg('err.msg.response.body'));
2d454bfef426 Further Failure Messages
Dustin Demuth <dustin@intevation.de>
parents: 690
diff changeset
114 }
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115 }
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 });
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 }
622
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
118 }
ee92e352be20 Open messung create window on button click.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 592
diff changeset
119 );
826
2362f8ab1e9f disable remove button after a item is deleted from grid
Dustin Demuth <dustin@intevation.de>
parents: 742
diff changeset
120 grid.down('button[action=delete]').disable();
588
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 }
e24bc8cf8e1d Renamed messungen grid and controller.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 });

http://lada.wald.intevation.org