Mercurial > lada > lada-client
annotate app/controller/Zusatzwerte.js @ 130:747d488b9203
Added function getEidi which returns the part of the id of an item which needs
to be appended to the store base URL for PUT and DELETE and GET Requests. This
function is used to build a custom id. On default it returns the value of
getId.
author | Torsten Irländer <torsten.irlaender@intevation.de> |
---|---|
date | Tue, 25 Jun 2013 17:29:17 +0200 |
parents | 33aed7dde69f |
children | 04439f3feba3 |
rev | line source |
---|---|
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
1 Ext.define('Lada.controller.Zusatzwerte', { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
2 extend: 'Ext.app.Controller', |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
3 views: [ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
4 'zusatzwerte.Create' |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
5 ], |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
6 stores: [ |
122
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
7 'Zusatzwerte', |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
8 'Probenzusatzwerte' |
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
9 ], |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
10 init: function() { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
11 console.log('Initialising the Zusatzwerte controller'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
12 this.control({ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
13 // CSS like selector to select element in the viewpzusatzwert. See |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
14 // ComponentQuery documentation for more details. |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
15 'zusatzwertelist': { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
16 itemdblclick: this.editZusatzwert |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
17 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
18 'zusatzwertelist toolbar button[action=add]': { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
19 click: this.addZusatzwert |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
20 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
21 'zusatzwertelist toolbar button[action=delete]': { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
22 click: this.deleteZusatzwert |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
23 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
24 'zusatzwertecreate form': { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
25 savesuccess: this.createSuccess, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
26 savefailure: this.createFailure |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
27 }, |
122
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
28 'zusatzwertecreate button[action=save]': { |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
29 click: this.saveZusatzwert |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
30 }, |
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
31 'zusatzwerteedit form': { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
32 savesuccess: this.editSuccess, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
33 savefailure: this.editFailure |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
34 } |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
35 }); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
36 }, |
122
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
37 saveZusatzwert: function(button) { |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
38 console.log('Saving Zusatzwert'); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
39 var form = button.up('window').down('form'); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
40 var values = form.getForm().getValues(); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
41 var model = form.model; |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
42 // Set Probenzusatzwert and rebind the model to the form. |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
43 var xxx = this.getProbenzusatzwerteStore(); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
44 var probenzusatz = xxx.getAt(xxx.find('pzsId', values.pzsId)); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
45 model.setProbenzusatz(probenzusatz); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
46 form.commit(); |
a7bfaeb1655d
Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
110
diff
changeset
|
47 }, |
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
48 addZusatzwert: function(button) { |
126
3d8cbc2d0dc1
Use probeId value of the add button to set the probeId of new created Zusatzwerte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
122
diff
changeset
|
49 console.log('Adding new Zusatzwert for Probe' + button.probenId); |
3d8cbc2d0dc1
Use probeId value of the add button to set the probeId of new created Zusatzwerte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
122
diff
changeset
|
50 var zusatzwert = Ext.create('Lada.model.Zusatzwert'); |
3d8cbc2d0dc1
Use probeId value of the add button to set the probeId of new created Zusatzwerte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
122
diff
changeset
|
51 zusatzwert.set('probeId', button.probeId); |
3d8cbc2d0dc1
Use probeId value of the add button to set the probeId of new created Zusatzwerte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
122
diff
changeset
|
52 var view = Ext.widget('zusatzwertecreate', {model: zusatzwert}); |
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
53 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
54 editZusatzwert: function(grid, record) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
55 console.log('Editing Zusatzwert'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
56 var view = Ext.widget('zusatzwertecreate', {model: record}); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
57 console.log("Loaded Zusatzwert with ID " + record.getId()); //outputs ID |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
58 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
59 deleteZusatzwert: function(button) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
60 // Get selected item in grid |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
61 var grid = button.up('grid'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
62 var selection = grid.getView().getSelectionModel().getSelection()[0]; |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
63 Ext.MessageBox.confirm('Löschen', 'Sind Sie sicher?', function(btn){ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
64 if(btn === 'yes'){ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
65 var store = grid.getStore(); |
129
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
66 var sprobenZusatz = selection.get('sprobenZusatz'); |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
67 var pzsId = sprobenZusatz.pzsId; |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
68 var probeId = selection.get('probeId'); |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
69 var deleteUrl = selection.getProxy().url + "/" + pzsId + "/" + probeId; |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
70 Ext.Ajax.request({ |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
71 url: deleteUrl, |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
72 method: 'DELETE', |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
73 success: function(response, opts) { |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
74 store.reload(); |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
75 } |
33aed7dde69f
Do not call remove with selection on the store to delete object. Trigger
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
126
diff
changeset
|
76 }); |
110
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
77 console.log('Deleting Kommentar'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
78 } else { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
79 console.log('Cancel Deleting Kommentar'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
80 } |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
81 }); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
82 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
83 createSuccess: function(form, record, operation) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
84 // Reload store |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
85 var store = this.getZusatzwerteStore(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
86 store.reload(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
87 var win = form.up('window'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
88 win.close(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
89 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
90 createFailure: function(form, record, operation) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
91 Ext.MessageBox.show({ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
92 title: 'Fehler beim Speichern', |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
93 msg: form.message, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
94 icon: Ext.MessageBox.ERROR, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
95 buttons: Ext.Msg.OK |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
96 }); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
97 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
98 editSuccess: function(form, record, operation) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
99 // Reload store |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
100 var store = this.getZusatzwerteStore(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
101 store.reload(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
102 var win = form.up('window'); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
103 win.close(); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
104 }, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
105 editFailure: function(form, record, operation) { |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
106 Ext.MessageBox.show({ |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
107 title: 'Fehler beim Speichern', |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
108 msg: form.message, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
109 icon: Ext.MessageBox.ERROR, |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
110 buttons: Ext.Msg.OK |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
111 }); |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
112 } |
c4f97a5a9939
Added Forms to add Zusatzwerte
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
113 }); |