# HG changeset patch # User Dustin Demuth # Date 1425984842 -3600 # Node ID 8ebe4cfca4b83c23bbae8a611e333e5356f7ab6c # Parent 83c0f476d825a36a87eb4ff61fce0ea6dac84bf9 Added a MessungenGridController. "Delete" causes a Code-500 Server Error. diff -r 83c0f476d825 -r 8ebe4cfca4b8 app.js --- a/app.js Mon Mar 09 17:12:27 2015 +0100 +++ b/app.js Tue Mar 10 11:54:02 2015 +0100 @@ -95,6 +95,8 @@ Ext.create('Lada.store.Verwaltungseinheiten', { storeId: 'verwaltungseinheiten' }); + + }, // Define the controllers of the application. They will be initialized @@ -104,6 +106,7 @@ 'Lada.controller.FilterResult', 'Lada.controller.ProbeForm', 'Lada.controller.OrtGrid', - 'Lada.controller.ProbenzusatzwertGrid' + 'Lada.controller.ProbenzusatzwertGrid', + 'Lada.controller.MessungenGrid' ] }); diff -r 83c0f476d825 -r 8ebe4cfca4b8 app/controller/MessungenGrid.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/controller/MessungenGrid.js Tue Mar 10 11:54:02 2015 +0100 @@ -0,0 +1,76 @@ +/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=3) + * and comes with ABSOLUTELY NO WARRANTY! Check out + * the documentation coming with IMIS-Labordaten-Application for details. + */ + +/* + * Controller for a Messungengrid + */ +Ext.define('Lada.controller.MessungenGrid', { + extend: 'Ext.app.Controller', + + init: function() { + this.control({ + 'messungengrid': { + selectionchange: this.selectionChanged, + edit: this.gridSave + }, + 'messungengrid button[action=open]': { + click: this.open + }, + 'messungengrid button[action=add]': { + click: this.add + }, + 'messungengrid button[action=delete]': { + click: this.remove + } + }); + }, + + selectionChanged: function(grid, record) { + if (record) { + grid.view.panel.down('button[action=open]').enable(); + } + }, + + gridSave: function(editor, context) { + context.record.save({ + success: function() { + context.grid.store.reload(); + context.grid.up('window').initData(); + }, + failure: function() { + // TODO + } + }); + }, + + open: function() { + // todo + console.log('open'); + }, + + add: function() { + // todo + console.log('add'); + }, + + remove: function(button) { + var grid = button.up('grid'); + var selection = grid.getView().getSelectionModel().getSelection()[0]; + Ext.MessageBox.confirm('Messung löschen', 'Sind Sie sicher?', function(btn) { + if (btn === 'yes') { + selection.destroy({ + success: function() { + button.up('window').initData(); + }, + failure: function() { + } + }); + } + }); + } +}); diff -r 83c0f476d825 -r 8ebe4cfca4b8 app/view/grid/Messungen.js --- a/app/view/grid/Messungen.js Mon Mar 09 17:12:27 2015 +0100 +++ b/app/view/grid/Messungen.js Tue Mar 10 11:54:02 2015 +0100 @@ -45,7 +45,7 @@ text: 'Hinzufügen', icon: 'resources/img/list-add.png', action: 'add', - probeId: this.recordId + probeId: this.probeId }, { text: 'Löschen', icon: 'resources/img/list-remove.png', @@ -60,15 +60,6 @@ allowBlank: false } }, { - /* - header: 'Probe-ID', - dataIndex: 'probeId', - flex: 1, - editor: { - allowBlank: false - } - }, { - */ header: 'Nebenproben-Nr.', dataIndex: 'nebenprobenNr', flex: 1, @@ -94,37 +85,7 @@ //minText: 'Das Datum der Messung darf nicht vor dem 01.01.2001 liegen.', maxValue: Ext.Date.format(new Date(), 'd.m.Y') } - } - /* - , { - header: 'Messdauer', - dataIndex: 'messdauer', - width: 50, - editor: { - allowBlank: false - } }, { - header: 'Geplant', - dataIndex: 'geplant', - width: 10, - editor: { - xtype: 'checkboxfield', - allowBlank: false - } - }, { - header: 'Letzte Änderung', - dataIndex: 'letzteAenderung', - width: 50, - editor: { - xtype: 'datefield', - allowBlank: false, - format: 'd.m.Y', - //minValue: '01.01.2001', //todo: gibt es das? - //minText: 'Das Datum der letzten Änderung darf nicht vor dem 01.01.2001 liegen.', - maxValue: Ext.Date.format(new Date(), 'd.m.Y') - } - }*/ - , { header: 'Status', flex: 1, dataIndex: 'id', @@ -213,34 +174,5 @@ probeId: this.recordId } }); - -/* - this.statusStore.load({ - params: { - messungId: this.recordId - } - }); - this.messwerteStore.load({ - params: { - messungId: this.recordId - } - }); - this.mKommentareStore.load({ - params: { - messungsId: this.recordId - } - }); -*/ - - }, - listeners: { - selectionchange: function(model, selected, eOpts) { - /* - * Enable the 'details' button only when an item is selected - */ - if (selected.length > 0) { - this.down('button[action=open]').enable(); - } - } } });