From c8f2fa1e6d2c77e3621190e54ceb49490c12e2d4 Mon Sep 17 00:00:00 2001 From: "Gabriel de Paula Felix (gdpf)" Date: Thu, 10 Aug 2023 13:45:51 +0000 Subject: [PATCH] [IMP] calendar: add synchronization pause buttons Configuration added for 'pause synchronization' buttons (Google and Outlook). Task-id: 3290898 Part-of: odoo/odoo#126560 --- addons/calendar/wizard/calendar_provider_config.py | 9 +++++++++ addons/calendar/wizard/calendar_provider_config.xml | 2 ++ 2 files changed, 11 insertions(+) diff --git a/addons/calendar/wizard/calendar_provider_config.py b/addons/calendar/wizard/calendar_provider_config.py index 8755303da5a..a800e69f9cc 100644 --- a/addons/calendar/wizard/calendar_provider_config.py +++ b/addons/calendar/wizard/calendar_provider_config.py @@ -3,6 +3,7 @@ from odoo import fields, models from odoo.addons.base.models.ir_module import assert_log_admin_access +from odoo.tools import str2bool class CalendarProviderConfig(models.TransientModel): @@ -21,12 +22,18 @@ class CalendarProviderConfig(models.TransientModel): cal_client_secret = fields.Char( "Google Client_key", default=lambda self: self.env['ir.config_parameter'].get_param('google_calendar_client_secret')) + cal_sync_paused = fields.Boolean( + "Google Synchronization Paused", + default=lambda self: str2bool(self.env['ir.config_parameter'].get_param('google_calendar_sync_paused'), default=False)) microsoft_outlook_client_identifier = fields.Char( "Outlook Client Id", default=lambda self: self.env['ir.config_parameter'].get_param('microsoft_calendar_client_id')) microsoft_outlook_client_secret = fields.Char( "Outlook Client Secret", default=lambda self: self.env['ir.config_parameter'].get_param('microsoft_calendar_client_secret')) + microsoft_outlook_sync_paused = fields.Boolean( + "Outlook Synchronization Paused", + default=lambda self: str2bool(self.env['ir.config_parameter'].get_param('microsoft_calendar_sync_paused'), default=False)) @assert_log_admin_access def action_calendar_prepare_external_provider_sync(self): @@ -45,6 +52,8 @@ class CalendarProviderConfig(models.TransientModel): if self.external_calendar_provider == 'google': self.env['ir.config_parameter'].set_param('google_calendar_client_id', self.cal_client_id) self.env['ir.config_parameter'].set_param('google_calendar_client_secret', self.cal_client_secret) + self.env['ir.config_parameter'].set_param('google_calendar_sync_paused', self.cal_sync_paused) elif self.external_calendar_provider == 'microsoft': self.env['ir.config_parameter'].set_param('microsoft_calendar_client_id', self.microsoft_outlook_client_identifier) self.env['ir.config_parameter'].set_param('microsoft_calendar_client_secret', self.microsoft_outlook_client_secret) + self.env['ir.config_parameter'].set_param('microsoft_calendar_sync_paused', self.microsoft_outlook_sync_paused) diff --git a/addons/calendar/wizard/calendar_provider_config.xml b/addons/calendar/wizard/calendar_provider_config.xml index 9fbad9c3403..5f7be4f7f2e 100644 --- a/addons/calendar/wizard/calendar_provider_config.xml +++ b/addons/calendar/wizard/calendar_provider_config.xml @@ -16,6 +16,7 @@ +
@@ -28,6 +29,7 @@ +