From afe82227127d0e41521d5dfbaf65d93fcf52dc18 Mon Sep 17 00:00:00 2001 From: std-odoo Date: Fri, 24 Jun 2022 11:30:39 +0000 Subject: [PATCH] [IMP] microsoft_outlook: allow customizing the outlook endpoint Purpose ======= If we want to deploy Outlook for a custom organization, it might be useful to be able to customize the endpoint used in the API request. For that purpose, we added a system parameter to overwrite the default endpoint. Task-2811567 Part-of: odoo/odoo#88215 --- addons/microsoft_outlook/models/microsoft_outlook_mixin.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/microsoft_outlook/models/microsoft_outlook_mixin.py b/addons/microsoft_outlook/models/microsoft_outlook_mixin.py index 1e1fd397164..a534cf475e5 100644 --- a/addons/microsoft_outlook/models/microsoft_outlook_mixin.py +++ b/addons/microsoft_outlook/models/microsoft_outlook_mixin.py @@ -47,13 +47,14 @@ class MicrosoftOutlookMixin(models.AbstractModel): Config = self.env['ir.config_parameter'].sudo() base_url = self.get_base_url() microsoft_outlook_client_id = Config.get_param('microsoft_outlook_client_id') + OUTLOOK_ENDPOINT = Config.get_param('microsoft.outlook.endpoint', self._OUTLOOK_ENDPOINT) for record in self: if not record.id or not record.use_microsoft_outlook_service or not record.is_microsoft_outlook_configured: record.microsoft_outlook_uri = False continue - record.microsoft_outlook_uri = url_join(self._OUTLOOK_ENDPOINT, 'authorize?%s' % url_encode({ + record.microsoft_outlook_uri = url_join(OUTLOOK_ENDPOINT, 'authorize?%s' % url_encode({ 'client_id': microsoft_outlook_client_id, 'response_type': 'code', 'redirect_uri': url_join(base_url, '/microsoft_outlook/confirm'), @@ -124,9 +125,10 @@ class MicrosoftOutlookMixin(models.AbstractModel): base_url = self.get_base_url() microsoft_outlook_client_id = Config.get_param('microsoft_outlook_client_id') microsoft_outlook_client_secret = Config.get_param('microsoft_outlook_client_secret') + OUTLOOK_ENDPOINT = Config.get_param('microsoft.outlook.endpoint', self._OUTLOOK_ENDPOINT) response = requests.post( - url_join(self._OUTLOOK_ENDPOINT, 'token'), + url_join(OUTLOOK_ENDPOINT, 'token'), data={ 'client_id': microsoft_outlook_client_id, 'client_secret': microsoft_outlook_client_secret,