From 857163e61297af69f59f970c9bb5deee24033ea6 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 3 Jun 2015 20:32:25 +1200 Subject: Add server settings dialog --- web/app/Resources.js | 3 ++ web/app/view/admin/ServerDialog.js | 50 ++++++++++++++++++++++++++++ web/app/view/admin/ServerDialogController.js | 42 +++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 web/app/view/admin/ServerDialog.js create mode 100644 web/app/view/admin/ServerDialogController.js diff --git a/web/app/Resources.js b/web/app/Resources.js index b7ffce571..be982bf55 100644 --- a/web/app/Resources.js +++ b/web/app/Resources.js @@ -50,6 +50,9 @@ var strings = { report_course: 'Course', report_address: 'Address', + server_title: 'Server settings', + server_registration: 'Registration', + dialog_save: 'Save', dialog_delete: 'Delete', dialog_cancel: 'Cancel', diff --git a/web/app/view/admin/ServerDialog.js b/web/app/view/admin/ServerDialog.js new file mode 100644 index 000000000..e654c9048 --- /dev/null +++ b/web/app/view/admin/ServerDialog.js @@ -0,0 +1,50 @@ +/* + * 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.admin.ServerDialog', { + extend: 'Ext.window.Window', + xtype: 'server-dialog', + + requires: [ + 'Traccar.view.admin.ServerDialogController' + ], + + controller: 'serverdialog', + + bodyPadding: styles.panel_padding, + title: strings.server_title, + resizable: false, + modal: true, + + items: { + xtype: 'form', + items: [{ + xtype: 'checkboxfield', + name: 'registration', + fieldLabel: strings.server_registration, + allowBlank: false + }] + }, + + buttons: [{ + text: strings.dialog_save, + handler: 'onSaveClick' + }, { + text: strings.dialog_cancel, + handler: 'onCancelClick' + }] + +}); diff --git a/web/app/view/admin/ServerDialogController.js b/web/app/view/admin/ServerDialogController.js new file mode 100644 index 000000000..8e0910b3c --- /dev/null +++ b/web/app/view/admin/ServerDialogController.js @@ -0,0 +1,42 @@ +/* + * 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.admin.ServerDialogController', { + extend: 'Ext.app.ViewController', + alias: 'controller.serverdialog', + + onSaveClick: function(button) { + var dialog = button.up('window').down('form'); + dialog.updateRecord(); + var store = Ext.getStore('Devices'); + var device = dialog.getRecord(); + if (device.phantom) { + store.add(device); + } + store.sync({ + failure: function(batch) { + store.rejectChanges(); // TODO + Traccar.ErrorManager.check(true, batch.exceptions[0].getResponse()); + } + }); + button.up('window').close(); + }, + + onCancelClick: function(button) { + button.up('window').close(); + } + +}); -- cgit v1.2.3