annotate app/controller/Messungen.js @ 134:1620d02d2973

Reset idProperty to probeId again as it seems the the submitted data will have an autogenerated id property "id" in the other case which causes problems on the server side.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Tue, 25 Jun 2013 17:33:56 +0200
parents 6c69bbb61c65
children 237a4efe715a
rev   line source
108
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
1 Ext.define('Lada.controller.Messungen', {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
2 extend: 'Ext.app.Controller',
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
3 views: [
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
4 'messungen.List',
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
5 'messungen.Create'
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
6 ],
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
7 stores: [
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
8 ],
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
9 models: [
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
10 'Zusatzwert'
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
11 ],
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
12 init: function() {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
13 console.log('Initialising the Messungen controller');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
14 this.control({
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
15 // CSS like selector to select element in the viewpzusatzwert. See
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
16 // ComponentQuery documentation for more details.
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
17 'messungenlist': {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
18 itemdblclick: this.editZusatzwert
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
19 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
20 'messungenlist toolbar button[action=add]': {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
21 click: this.addZusatzwert
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
22 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
23 'messungenlist toolbar button[action=delete]': {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
24 click: this.deleteZusatzwert
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
25 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
26 'messungencreate form': {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
27 savesuccess: this.createSuccess,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
28 savefailure: this.createFailure
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
29 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
30 'messungenedit form': {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
31 savesuccess: this.editSuccess,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
32 savefailure: this.editFailure
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
33 }
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
34 });
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
35 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
36 addZusatzwert: function(button) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
37 console.log('Adding new Zusatzwert');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
38 var view = Ext.widget('messungencreate');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
39 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
40 editZusatzwert: function(grid, record) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
41 console.log('Editing Zusatzwert');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
42 var view = Ext.widget('messungencreate', {model: record});
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
43 console.log("Loaded Zusatzwert with ID " + record.getId()); //outputs ID
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
44 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
45 deleteZusatzwert: function(button) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
46 // Get selected item in grid
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
47 var grid = button.up('grid');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
48 var selection = grid.getView().getSelectionModel().getSelection()[0];
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
49 Ext.MessageBox.confirm('Löschen', 'Sind Sie sicher?', function(btn){
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
50 if(btn === 'yes'){
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
51 var store = grid.getStore();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
52 store.remove(selection);
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
53 store.sync();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
54 console.log('Deleting Kommentar');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
55 } else {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
56 console.log('Cancel Deleting Kommentar');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
57 }
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
58 });
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
59 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
60 createSuccess: function(form, record, operation) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
61 // Reload store
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
62 var store = this.getMessungenStore();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
63 store.reload();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
64 var win = form.up('window');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
65 win.close();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
66 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
67 createFailure: function(form, record, operation) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
68 Ext.MessageBox.show({
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
69 title: 'Fehler beim Speichern',
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
70 msg: form.message,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
71 icon: Ext.MessageBox.ERROR,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
72 buttons: Ext.Msg.OK
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
73 });
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
74 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
75 editSuccess: function(form, record, operation) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
76 // Reload store
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
77 var store = this.getMessungenStore();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
78 store.reload();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
79 var win = form.up('window');
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
80 win.close();
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
81 },
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
82 editFailure: function(form, record, operation) {
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
83 Ext.MessageBox.show({
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
84 title: 'Fehler beim Speichern',
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
85 msg: form.message,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
86 icon: Ext.MessageBox.ERROR,
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
87 buttons: Ext.Msg.OK
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
88 });
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
89 }
6c69bbb61c65 Added Forms to add Messungen
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
90 });

http://lada.wald.intevation.org