mkrambach@1279: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
mkrambach@1279:  * Software engineering by Intevation GmbH
mkrambach@1279:  *
mkrambach@1279:  * This file is Free Software under the GNU GPL (v>=3)
mkrambach@1279:  * and comes with ABSOLUTELY NO WARRANTY! Check out
mkrambach@1279:  * the documentation coming with IMIS-Labordaten-Application for details.
mkrambach@1279:  */
mkrambach@1279: 
mkrambach@1279: /**
mkrambach@1279:  * Form to create a new Messpunkt
mkrambach@1279:  */
mkrambach@1279: Ext.define('Lada.view.form.Ortserstellung', {
mkrambach@1279:     extend: 'Ext.form.Panel',
mkrambach@1279:     alias: 'widget.ortserstellungsform',
mkrambach@1279:     requires: [
mkrambach@1279:         'Lada.view.widget.Verwaltungseinheit',
mkrambach@1279:         'Lada.view.widget.Staat'
mkrambach@1279:     ],
mkrambach@1284:     model: null,
mkrambach@1279: 
mkrambach@1289:     margin: 5,
mkrambach@1289: 
raimund@1321:     border: 0,
raimund@1321: 
mkrambach@1284:     record: null,
mkrambach@1279: 
mkrambach@1314:     trackResetOnLoad: true,
mkrambach@1314: 
mkrambach@1279:     initComponent: function() {
mkrambach@1279:         var i18n = Lada.getApplication().bundle;
mkrambach@1279:         var me = this;
mkrambach@1284:         this.items = [{
mkrambach@1284:             xtype: 'netzbetreiber',
mkrambach@1284:             editable: false,
mkrambach@1284:             readOnly: true,
mkrambach@1284:             submitValue: true,
mkrambach@1289:             border: 0,
mkrambach@1284:             fieldLabel: i18n.getMsg('netzbetreiberId'),
mkrambach@1289:             labelWidth: 125,
mkrambach@1288:             value: Lada.netzbetreiber[0]
tom@1306:         }, {
tom@1357:             xtype: 'tfield',
mkrambach@1309:             name: 'ortId',
mkrambach@1309:             maxLength: 10,
mkrambach@1309:             labelWidth: 125,
mkrambach@1309:             fieldLabel: i18n.getMsg('orte.ortId')
mkrambach@1309:         }, {
mkrambach@1284:             xtype: 'checkbox',
raimund@1321:             labelWidth: 125,
mkrambach@1284:             name: 'aktiv',
mkrambach@1284:             fieldLabel: 'aktiv:'
mkrambach@1284:         },{
mkrambach@1284:             xtype: 'staat',
mkrambach@1284:             labelWidth: 125,
mkrambach@1284:             fieldLabel: i18n.getMsg('staat'),
mkrambach@1284:             name: 'staatId',
mkrambach@1339:             forceSelection: true
mkrambach@1284:         }, {
mkrambach@1284:             xtype: 'verwaltungseinheit',
mkrambach@1284:             labelWidth: 125,
tom@1297:             fieldLabel: i18n.getMsg('orte.verwaltungseinheit'),
mkrambach@1289:             forceSelection: true,
mkrambach@1337:             name: 'gemId'
mkrambach@1284:         }, {
raimund@1331:             xtype: 'koordinatenart',
mkrambach@1284:             labelWidth: 125,
mkrambach@1284:             fieldLabel: i18n.getMsg('orte.kda'),
mkrambach@1337:             name: 'kdaId'
mkrambach@1284:         }, {
mkrambach@1284:             xtype: 'numfield',
mkrambach@1284:             labelWidth: 125,
mkrambach@1284:             fieldLabel: i18n.getMsg('orte.koordx'),
mkrambach@1284:             name: 'koordXExtern',
mkrambach@1284:             allowDecimals: true,
mkrambach@1284:             decimalPrecision: 5,
mkrambach@1337:             maxLength: 22
mkrambach@1284:         }, {
mkrambach@1284:             xtype: 'numfield',
mkrambach@1284:             labelWidth: 125,
mkrambach@1284:             fieldLabel: i18n.getMsg('orte.koordy'),
mkrambach@1284:             name: 'koordYExtern',
mkrambach@1284:             allowDecimals: true,
mkrambach@1284:             decimalPrecision: 5,
mkrambach@1337:             maxLength: 22
mkrambach@1284:         }, {
mkrambach@1284:             xtype: 'numfield',
mkrambach@1284:             labelWidth: 125,
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.hoeheLand'),
mkrambach@1284:             name: 'hoeheLand',
mkrambach@1284:             maxLength: 10,
mkrambach@1284:             allowDecimals: true
mkrambach@1284:         }, {
mkrambach@1284:             xtype: 'tfield',
mkrambach@1284:             labelWidth: 125,
tom@1310:             maxLength: 15,
mkrambach@1284:             name: 'kurztext',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.kurztext')
mkrambach@1284:         },{
mkrambach@1284:             xtype: 'tfield',
mkrambach@1284:             labelWidth: 125,
tom@1310:             maxLength: 100,
mkrambach@1284:             fieldLabel: i18n.getMsg('orte.langtext'),
mkrambach@1284:             name: 'langtext'
mkrambach@1284:         },{
mkrambach@1284:             xtype: 'tfield',
mkrambach@1284:             labelWidth: 125,
tom@1310:             maxLength: 70,
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.berichtstext'),
mkrambach@1284:             name: 'berichtstext'
mkrambach@1289:         }, {
raimund@1320:             xtype: 'kta',
mkrambach@1289:             labelWidth: 125,
mkrambach@1289:             maxLength: 100,
mkrambach@1289:             name: 'anlageId',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.anlageId')
mkrambach@1289:         }, {
mkrambach@1289:             xtype: 'tfield',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 1,
mkrambach@1289:             name: 'zone',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.zone')
mkrambach@1289:         },{
mkrambach@1289:             xtype: 'tfield',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 2,
mkrambach@1289:             name: 'sektor',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.sektor')
mkrambach@1289:         },{
raimund@1320:             xtype: 'orttyp',
mkrambach@1289:             labelWidth: 125,
mkrambach@1289:             maxLength: 100,
mkrambach@1289:             name: 'ortTyp',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.ortTyp')
mkrambach@1289:         },{
mkrambach@1289:             xtype: 'tfield',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 10,
mkrambach@1289:             name: 'zustaendigkeit',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.zustaendigkeit')
mkrambach@1289:         },{
mkrambach@1289:             xtype: 'tfield',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 10,
mkrambach@1289:             name: 'mpArt',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.mpArt')
mkrambach@1289:         },{
mkrambach@1289:             xtype: 'tfield',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 10,
mkrambach@1289:             name: 'nutsCode',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.nutsCode')
mkrambach@1289:         },{
raimund@1320:             xtype: 'ortszusatz',
mkrambach@1289:             labelWidth: 125,
tom@1310:             maxLength: 7,
mkrambach@1289:             name: 'ozId',
mkrambach@1289:             fieldLabel: i18n.getMsg('orte.ozId')
mkrambach@1284:         }];
mkrambach@1289: 
mkrambach@1284:         this.dockedItems = [{
mkrambach@1284:             xtype: 'toolbar',
mkrambach@1284:             dock: 'bottom',
mkrambach@1284:             border: '0, 1, 1, 1',
mkrambach@1284:             style: {
mkrambach@1284:                 borderBottom: '1px solid #b5b8c8 !important',
mkrambach@1284:                 borderLeft: '1px solid #b5b8c8 !important',
mkrambach@1284:                 borderRight: '1px solid #b5b8c8 !important'
mkrambach@1284:             },
mkrambach@1284:             items: ['->', {
mkrambach@1284:                 text: i18n.getMsg('save'),
mkrambach@1284:                 action: 'save',
raimund@1321:                 qtip: 'Daten speichern',
raimund@1321:                 icon: 'resources/img/dialog-ok-apply.png',
mkrambach@1284:                 disabled: true
mkrambach@1279:             }, {
raimund@1321:                 text: i18n.getMsg('discard'),
raimund@1321:                 qtip: 'Ă„nderungen verwerfen',
raimund@1321:                 icon: 'resources/img/dialog-cancel.png',
raimund@1321:                 action: 'revert',
mkrambach@1337:                 disabled: true
mkrambach@1279:             }]
mkrambach@1279:         }];
mkrambach@1284:         this.callParent(arguments);
mkrambach@1284:         this.getForm().loadRecord(this.record);
mkrambach@1295:     },
mkrambach@1295: 
mkrambach@1295:     setMessages: function(errors, warnings) {
mkrambach@1295:         var key;
mkrambach@1295:         var element;
mkrambach@1295:         var content;
mkrambach@1295:         var i18n = Lada.getApplication().bundle;
mkrambach@1295:         if (warnings) {
mkrambach@1295:             for (key in warnings) {
mkrambach@1295:                 element = this.down('component[name=' + key + ']');
mkrambach@1295:                 if (!element) {
mkrambach@1295:                     continue;
mkrambach@1295:                 }
mkrambach@1295:                 content = warnings[key];
mkrambach@1295:                 var warnText = '';
mkrambach@1295:                 for (var i = 0; i < content.length; i++) {
mkrambach@1295:                     warnText += i18n.getMsg(content[i].toString()) + '\n';
mkrambach@1295:                 }
mkrambach@1295:                 element.showWarnings(warnText);
mkrambach@1295:             }
mkrambach@1295:         }
mkrambach@1295:         if (errors) {
mkrambach@1295:             for (key in errors) {
mkrambach@1295:                 element = this.down('component[name=' + key + ']');
mkrambach@1295:                 if (!element) {
mkrambach@1295:                     continue;
mkrambach@1295:                 }
mkrambach@1295:                 content = errors[key];
mkrambach@1295:                 var errorText = '';
mkrambach@1295:                 for (var i = 0; i < content.length; i++) {
mkrambach@1295:                     errorText += i18n.getMsg(content[i].toString()) + '\n';
mkrambach@1295:                 }
mkrambach@1295:                 element.showErrors(errorText);
mkrambach@1295:             }
mkrambach@1295:         }
mkrambach@1295:      },
mkrambach@1295: 
mkrambach@1295:     clearMessages: function() {
mkrambach@1295:         // TODO: this is a stub
mkrambach@1295:      }
mkrambach@1313: });