torsten@110: Ext.define('Lada.controller.Zusatzwerte', {
torsten@110:     extend: 'Ext.app.Controller',
torsten@110:     views: [
torsten@110:         'zusatzwerte.List',
torsten@110:         'zusatzwerte.Create'
torsten@110:     ],
torsten@110:     stores: [
torsten@110:     ],
torsten@110:     models: [
torsten@110:         'Zusatzwert'
torsten@110:     ],
torsten@110:     init: function() {
torsten@110:         console.log('Initialising the Zusatzwerte controller');
torsten@110:         this.control({
torsten@110:             // CSS like selector to select element in the viewpzusatzwert. See
torsten@110:             // ComponentQuery documentation for more details.
torsten@110:             'zusatzwertelist': {
torsten@110:                 itemdblclick: this.editZusatzwert
torsten@110:             },
torsten@110:             'zusatzwertelist toolbar button[action=add]': {
torsten@110:                 click: this.addZusatzwert
torsten@110:             },
torsten@110:             'zusatzwertelist toolbar button[action=delete]': {
torsten@110:                 click: this.deleteZusatzwert
torsten@110:             },
torsten@110:             'zusatzwertecreate form': {
torsten@110:                 savesuccess: this.createSuccess,
torsten@110:                 savefailure: this.createFailure
torsten@110:             },
torsten@110:             'zusatzwerteedit form': {
torsten@110:                 savesuccess: this.editSuccess,
torsten@110:                 savefailure: this.editFailure
torsten@110:             }
torsten@110:         });
torsten@110:     },
torsten@110:     addZusatzwert: function(button) {
torsten@110:         console.log('Adding new Zusatzwert');
torsten@110:         var view = Ext.widget('zusatzwertecreate');
torsten@110:     },
torsten@110:     editZusatzwert: function(grid, record) {
torsten@110:         console.log('Editing Zusatzwert');
torsten@110:         var view = Ext.widget('zusatzwertecreate', {model: record});
torsten@110:         console.log("Loaded Zusatzwert with ID " + record.getId()); //outputs ID
torsten@110:     },
torsten@110:     deleteZusatzwert: function(button) {
torsten@110:         // Get selected item in grid
torsten@110:         var grid = button.up('grid');
torsten@110:         var selection = grid.getView().getSelectionModel().getSelection()[0];
torsten@110:         Ext.MessageBox.confirm('Löschen', 'Sind Sie sicher?', function(btn){
torsten@110:             if(btn === 'yes'){
torsten@110:                 var store = grid.getStore();
torsten@110:                 store.remove(selection);
torsten@110:                 store.sync();
torsten@110:                 console.log('Deleting Kommentar');
torsten@110:             } else {
torsten@110:                 console.log('Cancel Deleting Kommentar');
torsten@110:             }
torsten@110:         });
torsten@110:     },
torsten@110:     createSuccess: function(form, record, operation) {
torsten@110:         // Reload store
torsten@110:         var store = this.getZusatzwerteStore();
torsten@110:         store.reload();
torsten@110:         var win = form.up('window');
torsten@110:         win.close();
torsten@110:     },
torsten@110:     createFailure: function(form, record, operation) {
torsten@110:         Ext.MessageBox.show({
torsten@110:             title: 'Fehler beim Speichern',
torsten@110:             msg: form.message,
torsten@110:             icon: Ext.MessageBox.ERROR,
torsten@110:             buttons: Ext.Msg.OK
torsten@110:         });
torsten@110:     },
torsten@110:     editSuccess: function(form, record, operation) {
torsten@110:         // Reload store
torsten@110:         var store = this.getZusatzwerteStore();
torsten@110:         store.reload();
torsten@110:         var win = form.up('window');
torsten@110:         win.close();
torsten@110:     },
torsten@110:     editFailure: function(form, record, operation) {
torsten@110:         Ext.MessageBox.show({
torsten@110:             title: 'Fehler beim Speichern',
torsten@110:             msg: form.message,
torsten@110:             icon: Ext.MessageBox.ERROR,
torsten@110:             buttons: Ext.Msg.OK
torsten@110:         });
torsten@110:     }
torsten@110: });