From d25c70de93c5edb93a7a51b9d53ac513447d2399 Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 23 Jan 2018 11:40:47 +0500 Subject: Implement scheduled notifications --- web/app/model/Notification.js | 5 ++++- web/app/view/dialog/Notification.js | 19 +++++++++++++++++-- web/app/view/dialog/NotificationController.js | 27 +++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 web/app/view/dialog/NotificationController.js (limited to 'web') diff --git a/web/app/model/Notification.js b/web/app/model/Notification.js index 0d479f4f..6ccaecaf 100644 --- a/web/app/model/Notification.js +++ b/web/app/model/Notification.js @@ -1,5 +1,5 @@ /* - * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,5 +39,8 @@ Ext.define('Traccar.model.Notification', { }, { name: 'sms', type: 'bool' + }, { + name: 'calendarId', + type: 'int' }] }); diff --git a/web/app/view/dialog/Notification.js b/web/app/view/dialog/Notification.js index 7e7fe452..f4204cb9 100644 --- a/web/app/view/dialog/Notification.js +++ b/web/app/view/dialog/Notification.js @@ -1,6 +1,6 @@ /* - * Copyright 2017 Anton Tananaev (anton@traccar.org) - * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,6 +19,12 @@ Ext.define('Traccar.view.dialog.Notification', { extend: 'Traccar.view.dialog.BaseEdit', + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.NotificationController' + ], + + controller: 'notification', title: Strings.sharedNotification, items: { @@ -60,6 +66,15 @@ Ext.define('Traccar.view.dialog.Notification', { uncheckedValue: false, name: 'sms', fieldLabel: Strings.notificationSms + }, { + xtype: 'clearableComboBox', + reference: 'calendarCombo', + name: 'calendarId', + store: 'Calendars', + queryMode: 'local', + displayField: 'name', + valueField: 'id', + fieldLabel: Strings.sharedCalendar }] }] } diff --git a/web/app/view/dialog/NotificationController.js b/web/app/view/dialog/NotificationController.js new file mode 100644 index 00000000..ad65c333 --- /dev/null +++ b/web/app/view/dialog/NotificationController.js @@ -0,0 +1,27 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +Ext.define('Traccar.view.dialog.NotificationController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.notification', + + init: function () { + this.lookupReference('calendarCombo').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableCalendars')); + } +}); -- cgit v1.2.3