From 418b1c9548fc33e09dba8f0731941093a9bd7a55 Mon Sep 17 00:00:00 2001 From: Juliana <juliana@le-filament.com> Date: Wed, 22 Mar 2023 12:28:40 +0100 Subject: [PATCH] [UPD]Update API Enedis V2 --- models/api_enedis.py | 10 +++++++--- models/res_company.py | 2 ++ models/res_config_settings.py | 11 ++++++++++- views/res_config_settings_views.xml | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/models/api_enedis.py b/models/api_enedis.py index 221537e..ec8f0cc 100644 --- a/models/api_enedis.py +++ b/models/api_enedis.py @@ -28,6 +28,7 @@ class ApiEnedis(models.AbstractModel): _logger.info("Création du Token de connexion Enedis") url_enedis = self.env.user.company_id.url_enedis + url_auth = self.env.user.company_id.url_auth if not url_enedis: raise UserError( _( @@ -39,10 +40,11 @@ class ApiEnedis(models.AbstractModel): secret_id = self.secret_id auth = _basic_auth_str(client_id, secret_id) - url = url_enedis + "v1/oauth2/token" + url = url_enedis + url_auth headers = { "Authorization": auth, "Content-Type": "application/x-www-form-urlencoded", + "Host": "ext.prod.api.enedis.fr", } formData = { "grant_type": "client_credentials", @@ -134,8 +136,9 @@ class ApiEnedis(models.AbstractModel): à la maille d'une opération ou d'un PRM en particulier """ + url_autocons = self.env.user.company_id.url_autocons url = ( - "v1/collective_self_consumption/agreements/" + url_autocons + self.name + "/definitive_load_curves" ) @@ -252,7 +255,8 @@ class ApiEnedis(models.AbstractModel): :return Retourne le périmètre d'une opération donnée Date de début et fin de contrat """ - url = "v1/collective_self_consumption/agreements/" + self.name + "/perimeter" + url_autocons = self.env.user.company_id.url_autocons + url = url_autocons + self.name + "/perimeter" response = self.enedis_get_by_url( url=url, call_type="get", query=[], token=None diff --git a/models/res_company.py b/models/res_company.py index 4b44be4..a87bb4a 100644 --- a/models/res_company.py +++ b/models/res_company.py @@ -11,6 +11,8 @@ class ResCompany(models.Model): # Fields declaration # ------------------------------------------------------ url_enedis = fields.Char(string="Url API de la plateforme de production interne") + url_auth = fields.Char(string="Base Url API pour authorisation de connexion") + url_autocons = fields.Char(string="Base Url API pour l'autoconsommation") # ------------------------------------------------------ # SQL Constraints diff --git a/models/res_config_settings.py b/models/res_config_settings.py index 9b02ff8..53257a8 100644 --- a/models/res_config_settings.py +++ b/models/res_config_settings.py @@ -12,7 +12,16 @@ class ResConfigSettings(models.TransientModel): string="Url API de la plateforme de production interne", readonly=False, ) - + url_auth = fields.Char( + related="company_id.url_auth", + string="Base Url API pour authorisation de connexion", + readonly=False + ) + url_autocons = fields.Char( + related="company_id.url_autocons", + string="Base Url API pour l'autoconsommation", + readonly=False + ) # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ diff --git a/views/res_config_settings_views.xml b/views/res_config_settings_views.xml index cb39fd3..2cb593c 100644 --- a/views/res_config_settings_views.xml +++ b/views/res_config_settings_views.xml @@ -28,6 +28,24 @@ <field name="url_enedis" /> </div> </div> + <div class="o_setting_right_pane"> + <label string="API Autorisations URL" for="url_auth" /> + <div class="text-muted"> + URL d'autorisation de l'API de la plateforme de production interne + </div> + <div class="mt8"> + <field name="url_auth" /> + </div> + </div> + <div class="o_setting_right_pane"> + <label string="API Autoconsommation URL" for="url_autocons" /> + <div class="text-muted"> + URL de l'autoconsommation pour l'API de la plateforme de production interne + </div> + <div class="mt8"> + <field name="url_autocons" /> + </div> + </div> </div> </div> </div> -- GitLab