/* * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Ext.define('Traccar.view.UserDialogController', { extend: 'Ext.app.ViewController', alias: 'controller.userDialog', requires: [ 'Traccar.view.Attributes' ], init: function () { if (Traccar.app.getUser().get('admin')) { this.lookupReference('adminField').setDisabled(false); } }, onSaveClick: function (button) { var dialog, record, store; dialog = button.up('window').down('form'); dialog.updateRecord(); record = dialog.getRecord(); if (record === Traccar.app.getUser()) { record.save(); } else { store = Ext.getStore('Users'); if (record.phantom) { store.add(record); } store.sync({ failure: function (batch) { store.rejectChanges(); Traccar.app.showError(batch.exceptions[0].getError().response); } }); } button.up('window').close(); }, showAttributesView: function (button) { var dialog, record; dialog = button.up('window').down('form'); record = dialog.getRecord(); Ext.create('Traccar.view.BaseWindow', { title: Strings.sharedAttributes, modal: false, items: { xtype: 'attributesView', record: record } }).show(); } });