diff --git a/models/api_enedis.py b/models/api_enedis.py index 221537e33981be11ce35c8aa5410e2dfb5fbfb37..ec8f0cc5c814b64139aefdc6b7270c09f9a5a286 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 4b44be492f7fa225c05a68b5685a6e4a5e47b7b4..a87bb4a8dc269102bc3bbac8fe290b270b1b45f4 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 9b02ff8abd32293b08221a66bd5ba3f8fe9bc714..53257a888ceaa4fbb31994dee94f91774ff51b14 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 cb39fd3a828142e095bf894fd858872bb132414d..2cb593c2e698432199516eac2719af8f2a669dab 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>