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 @@ +