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