From a65b9d11ffbbda390bfb7cb852a8149068abc494 Mon Sep 17 00:00:00 2001 From: Cybrosys Technologies Date: Wed, 16 Apr 2025 12:46:35 +0530 Subject: [PATCH] APR 16: [FIX] Bug fixed 'hubspot_odoo_connector' --- hubspot_odoo_connector/__manifest__.py | 2 +- hubspot_odoo_connector/doc/RELEASE_NOTES.md | 6 +++++ .../models/hubspot_connector.py | 26 +++++++++++-------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/hubspot_odoo_connector/__manifest__.py b/hubspot_odoo_connector/__manifest__.py index 87de5d133..4d4d77224 100644 --- a/hubspot_odoo_connector/__manifest__.py +++ b/hubspot_odoo_connector/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################# { 'name': 'HubSpot Odoo Connector', - 'version': '16.0.1.0.0', + 'version': '16.0.1.0.1', 'category': 'Marketing', 'summary': 'This module integrate Hubspot with odoo', 'description': """ This module integrates HubSpot with Odoo to sync diff --git a/hubspot_odoo_connector/doc/RELEASE_NOTES.md b/hubspot_odoo_connector/doc/RELEASE_NOTES.md index 3c55de795..3b0c6c2d7 100644 --- a/hubspot_odoo_connector/doc/RELEASE_NOTES.md +++ b/hubspot_odoo_connector/doc/RELEASE_NOTES.md @@ -5,3 +5,9 @@ #### ADD - Initial commit for HubSpot Odoo Connector + +#### 11.04.2024 +#### Version 16.0.1.0.1 +#### FIX + +- Fixed the connection issue between odoo and hubspot \ No newline at end of file diff --git a/hubspot_odoo_connector/models/hubspot_connector.py b/hubspot_odoo_connector/models/hubspot_connector.py index d05f26358..84837a1e8 100644 --- a/hubspot_odoo_connector/models/hubspot_connector.py +++ b/hubspot_odoo_connector/models/hubspot_connector.py @@ -26,7 +26,7 @@ from hubspot.crm.deals import BatchInputSimplePublicObjectBatchInput from hubspot.crm.deals import SimplePublicObjectInput import requests from odoo import fields, models, _ -from odoo.exceptions import AccessError +from odoo.exceptions import AccessError, UserError class HubspotConnector(models.Model): @@ -178,22 +178,26 @@ class HubspotConnector(models.Model): and shows sync options, if connected disconnects. """ if not self.connection: - owners_endpoint = 'https://api.hubapi.com/owners/v2/owners' + owners_endpoint = 'https://api.hubapi.com/crm/v3/owners' headers = {'Authorization': f'Bearer {self.access_key}'} + try: response = requests.get(owners_endpoint, headers=headers) if response.status_code == 200: data = response.json() - if str(data[0]['ownerId']) == self.owner_id: - self.connection = True - self.state = "connected" + owners = data.get('results', []) + if not owners: + raise UserError(_("No owners found in HubSpot account")) + for owner in owners: + if str(owner['id']) == self.owner_id: + self.connection = True + self.state = "connected" + return + raise UserError(_("Owner ID does not match any HubSpot owner")) else: - raise AccessError(_("Error when Fetching account info")) - except requests.exceptions.RequestException: - return None - else: - self.connection = False - self.state = "disconnected" + raise UserError(_("Failed to connect to HubSpot: %s") % response.text) + except requests.exceptions.RequestException as e: + raise UserError(_("Network error connecting to HubSpot: %s") % str(e)) def action_contact_sync(self): """