summaryrefslogtreecommitdiff
path: root/addons/mail_bot/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail_bot/static/src/js')
-rw-r--r--addons/mail_bot/static/src/js/mailbot_service.js5
-rw-r--r--addons/mail_bot/static/src/js/systray_messaging_menu.js6
2 files changed, 10 insertions, 1 deletions
diff --git a/addons/mail_bot/static/src/js/mailbot_service.js b/addons/mail_bot/static/src/js/mailbot_service.js
index 5312e5d5129..45d367f406d 100644
--- a/addons/mail_bot/static/src/js/mailbot_service.js
+++ b/addons/mail_bot/static/src/js/mailbot_service.js
@@ -4,6 +4,7 @@ odoo.define('mail_bot.MailBotService', function (require) {
var AbstractService = require('web.AbstractService');
var core = require('web.core');
var session = require('web.session');
+var localStorage = require('web.local_storage');
var _t = core._t;
@@ -13,9 +14,13 @@ var MailBotService = AbstractService.extend({
*/
start: function () {
this._hasRequest = (window.Notification && window.Notification.permission === "default") || false;
+ var lastRequestTime = localStorage.getItem('odoobot_notification_last_request_time');
if ('odoobot_initialized' in session && ! session.odoobot_initialized) {
this._showOdoobotTimeout();
}
+ else if (lastRequestTime !== null && (new Date().getTime() - parseInt(lastRequestTime) > 7*24*60*60*1000)) {
+ this._showOdoobotTimeout();
+ }
},
//--------------------------------------------------------------------------
diff --git a/addons/mail_bot/static/src/js/systray_messaging_menu.js b/addons/mail_bot/static/src/js/systray_messaging_menu.js
index f7bccee84ed..9839e2cc18f 100644
--- a/addons/mail_bot/static/src/js/systray_messaging_menu.js
+++ b/addons/mail_bot/static/src/js/systray_messaging_menu.js
@@ -57,10 +57,14 @@ return MessagingMenu.include({
*/
_handleResponseNotificationPermission: function (value) {
this.call('mailbot_service', 'removeRequest');
- if (value !== 'granted') {
+ localStorage.removeItem('odoobot_notification_last_request_time');
+ if (value === 'denied') {
this.call('bus_service', 'sendNotification', _t('Permission denied'),
_t('Odoo will not have the permission to send native notifications on this device.'));
}
+ else if (value === 'default') {
+ localStorage.setItem('odoobot_notification_last_request_time', new Date().getTime());
+ }
this._updateCounter();
},
/**