changeset 998:4bbb3da88c14

Statusreset: added a confirmation dialog and i18n
author Dustin Demuth <dustin@intevation.de>
date Mon, 11 Jan 2016 11:36:35 +0100
parents c943340176d4
children 5beb2581a989
files app/controller/grid/Status.js app/view/grid/Status.js resources/i18n/Lada_de-DE.properties
diffstat 3 files changed, 58 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/app/controller/grid/Status.js	Fri Jan 08 14:43:41 2016 +0100
+++ b/app/controller/grid/Status.js	Mon Jan 11 11:36:35 2016 +0100
@@ -53,19 +53,20 @@
                 }
             },
             failure: function(request, response) {
+                var i18n = Lada.getApplication().bundle;
                 var json = response.request.scope.reader.jsonData;
                 if (json) {
                     if (json.message){
-                        Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title')
+                        Ext.Msg.alert(i18n.getMsg('err.msg.save.title')
                             +' #'+json.message,
-                            Lada.getApplication().bundle.getMsg(json.message));
+                            i18n.getMsg(json.message));
                     } else {
-                         Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
-                            Lada.getApplication().bundle.getMsg('err.msg.generic.body'));
+                         Ext.Msg.alert(i18n.getMsg('err.msg.save.title'),
+                            i18n.getMsg('err.msg.generic.body'));
                     }
                 } else {
-                    Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.save.title'),
-                        Lada.getApplication().bundle.getMsg('err.msg.response.body'));
+                    Ext.Msg.alert(i18n.getMsg('err.msg.save.title'),
+                        i18n.getMsg('err.msg.response.body'));
                 }
             }
         });
@@ -127,6 +128,24 @@
      *
      **/
     reset: function(button) {
+        var me = this;
+        var rstbutton = button;
+        var i18n = Lada.getApplication().bundle;
+        Ext.MessageBox.confirm(
+            i18n.getMsg('statusgrid.reset.mbox.title'),
+            i18n.getMsg('statusgrid.reset.mbox.text'),
+            function(btn) {
+                if (btn === 'yes') {
+                    me.doReset(rstbutton);
+                }
+            });
+     },
+
+     doReset: function(button) {
+        var i18n = Lada.getApplication().bundle;
+
+        var resetStatusValue = 0; //TODO 8
+
         var s = button.up('window').down('messungform').getRecord().get('status');
         var messId = button.up('window').down('messungform').getRecord().get('id');
         var recentStatus = button.up('statusgrid').store.getById(s);
@@ -135,9 +154,9 @@
         if (recentStatus) {
             var record = recentStatus.copy();
             record.set('datum', new Date());
-            record.set('statusWert', 8);
+            record.set('statusWert', resetStatusValue);
             record.set('id', null);
-            record.set('text', null);
+            record.set('text', i18n.getMsg('statusgrid.resetText'));
         }
 
         Ext.Ajax.request({
@@ -150,15 +169,16 @@
             },
             failure: function(response) {
                 // TODO sophisticated error handling, with understandable Texts
+                var i18n = Lada.getApplication().bundle;
                 var json = Ext.JSON.decode(response.responseText);
                 if (json) {
                     if(json.errors.totalCount > 0 || json.warnings.totalCount > 0){
                         formPanel.setMessages(json.errors, json.warnings);
                     }
                     if(json.message){
-                        Ext.Msg.alert(Lada.getApplication().bundle.getMsg('err.msg.generic.title')
+                        Ext.Msg.alert(i18n.getMsg('err.msg.generic.title')
                             +' #'+json.message,
-                            Lada.getApplication().bundle.getMsg(json.message));
+                            i18n.getMsg(json.message));
                     } else {
                         Ext.Msg.alert(i18n.getMsg('err.msg.generic.title'),
                             i18n.getMsg('err.msg.generic.body'));
@@ -169,6 +189,6 @@
                 }
             }
         });
+     }
 
-     }
 });
--- a/app/view/grid/Status.js	Fri Jan 08 14:43:41 2016 +0100
+++ b/app/view/grid/Status.js	Mon Jan 11 11:36:35 2016 +0100
@@ -14,7 +14,6 @@
     alias: 'widget.statusgrid',
 
     maxHeight: 350,
-    emptyText: 'Keine Statusangaben gefunden.',
     minHeight: 110,
     viewConfig: {
         deferEmptyText: false
@@ -25,6 +24,9 @@
     allowDeselect: true,
 
     initComponent: function() {
+        var i18n = Lada.getApplication().bundle;
+        this.emptyText = i18n.getMsg('statusgrid.emptyText');
+
         var statusWerteStore = Ext.create('Lada.store.StatusWerte');
         statusWerteStore.load({
             params: {
@@ -60,13 +62,13 @@
             xtype: 'toolbar',
             dock: 'bottom',
             items: ['->', {
-                text: 'Zurücksetzen',
+                text: i18n.getMsg('reset'),
                 icon: 'resources/img/edit-redo.png',
                 action: 'reset',
                 probeId: this.probeId,
                 parentId: this.parentId
             }, {
-                text: 'Hinzufügen',
+                text: i18n.getMsg('add'),
                 icon: 'resources/img/list-add.png',
                 action: 'add',
                 probeId: this.probeId,
@@ -74,19 +76,19 @@
             }]
         }];
         this.columns = [{
-            header: 'erstellt',
+            header: i18n.getMsg('statusgrid.header.datum'),
             dataIndex: 'datum',
             xtype: 'datecolumn',
             format: 'd.m.Y H:i',
             width: 110,
             sortable: false
         }, {
-            header: 'Erzeuger',
+            header: i18n.getMsg('statusgrid.header.erzeuger'),
             dataIndex: 'erzeuger',
             renderer: function(value) {
                 var r = '';
                 if (!value || value === '') {
-                    r = 'Error';
+                    r = i18n.getMsg('error');
                 }
                 var mstore = Ext.data.StoreManager.get('messstellen');
                 var item = mstore.getById(value);
@@ -105,13 +107,13 @@
             },
             sortable: false
         }, {
-            header: 'Stufe',
+            header: i18n.getMsg('statusgrid.header.statusStufe'),
             dataIndex: 'statusStufe',
             renderer: function(value) {
                 var sta = Ext.data.StoreManager.get('statusstufe');
                 var r;
                 if (value===null || value === '') {
-                    r = 'Error';
+                    r = i18n.getMsg('error');
                 }
                 var item = sta.getById(value);
                 if (item) {
@@ -121,14 +123,14 @@
             },
             sortable: false
         }, {
-            header: 'Status',
+            header: i18n.getMsg('statusgrid.header.statusWert'),
             dataIndex: 'statusWert',
             renderer: function(value) {
                 var sta = Ext.data.StoreManager.get('statuswerte');
                 //This store is NOT used in the editor...
                 var r;
                 if (value===null || value === '') {
-                    r = 'Error';
+                    r = i18n.getMsg('error');
                 }
                 var item = sta.getById(value);
                 if (item) {
@@ -147,7 +149,7 @@
             },
             sortable: false
         }, {
-            header: 'Text',
+            header: i18n.getMsg('statusgrid.header.text'),
             dataIndex: 'text',
             flex: 1,
             editor: {
--- a/resources/i18n/Lada_de-DE.properties	Fri Jan 08 14:43:41 2016 +0100
+++ b/resources/i18n/Lada_de-DE.properties	Mon Jan 11 11:36:35 2016 +0100
@@ -122,11 +122,25 @@
 select:Auswählen
 apply:Übernehmen
 
+reset:Zurücksetzen
+error: Fehler
+
 delete.probe.window.title:Probe und ihre Messungen Löschen?
 delete.probe:Wollen Sie die Probe und alle damit verbundenen Messungen wirklich LÖSCHEN?
 delete.probe.warning:ACHTUNG: Diese Aktion kann nicht rückgängig gemacht werden.
 
 
+## Statusgrid
+statusgrid.emptyText: Keine Statusangaben gefunden.
+statusgrid.header.datum: Erstellt
+statusgrid.header.erzeuger: Erzeuger
+statusgrid.header.statusStufe: Stufe
+statusgrid.header.statusWert: Status
+statusgrid.header.text: Text
+statusgrid.resetText: Der Status wurde zurückgesetzt
+statusgrid.reset.mbox.title: Status der Messung zurücksetzen.
+statusgrid.reset.mbox.text: Sind Sie sich sicher, dass Sie den Status zurücksetzen wollen?
+
 ##
 # Msg:
 ##

http://lada.wald.intevation.org