Browse Source

APR 16: [FIX] Bug fixed 'hubspot_odoo_connector'

16.0
Cybrosys Technologies 2 weeks ago
parent
commit
a65b9d11ff
  1. 2
      hubspot_odoo_connector/__manifest__.py
  2. 6
      hubspot_odoo_connector/doc/RELEASE_NOTES.md
  3. 26
      hubspot_odoo_connector/models/hubspot_connector.py

2
hubspot_odoo_connector/__manifest__.py

@ -21,7 +21,7 @@
############################################################################# #############################################################################
{ {
'name': 'HubSpot Odoo Connector', 'name': 'HubSpot Odoo Connector',
'version': '16.0.1.0.0', 'version': '16.0.1.0.1',
'category': 'Marketing', 'category': 'Marketing',
'summary': 'This module integrate Hubspot with odoo', 'summary': 'This module integrate Hubspot with odoo',
'description': """ This module integrates HubSpot with Odoo to sync 'description': """ This module integrates HubSpot with Odoo to sync

6
hubspot_odoo_connector/doc/RELEASE_NOTES.md

@ -5,3 +5,9 @@
#### ADD #### ADD
- Initial commit for HubSpot Odoo Connector - Initial commit for HubSpot Odoo Connector
#### 11.04.2024
#### Version 16.0.1.0.1
#### FIX
- Fixed the connection issue between odoo and hubspot

26
hubspot_odoo_connector/models/hubspot_connector.py

@ -26,7 +26,7 @@ from hubspot.crm.deals import BatchInputSimplePublicObjectBatchInput
from hubspot.crm.deals import SimplePublicObjectInput from hubspot.crm.deals import SimplePublicObjectInput
import requests import requests
from odoo import fields, models, _ from odoo import fields, models, _
from odoo.exceptions import AccessError from odoo.exceptions import AccessError, UserError
class HubspotConnector(models.Model): class HubspotConnector(models.Model):
@ -178,22 +178,26 @@ class HubspotConnector(models.Model):
and shows sync options, if connected disconnects. and shows sync options, if connected disconnects.
""" """
if not self.connection: 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}'} headers = {'Authorization': f'Bearer {self.access_key}'}
try: try:
response = requests.get(owners_endpoint, headers=headers) response = requests.get(owners_endpoint, headers=headers)
if response.status_code == 200: if response.status_code == 200:
data = response.json() data = response.json()
if str(data[0]['ownerId']) == self.owner_id: owners = data.get('results', [])
self.connection = True if not owners:
self.state = "connected" 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: else:
raise AccessError(_("Error when Fetching account info")) raise UserError(_("Failed to connect to HubSpot: %s") % response.text)
except requests.exceptions.RequestException: except requests.exceptions.RequestException as e:
return None raise UserError(_("Network error connecting to HubSpot: %s") % str(e))
else:
self.connection = False
self.state = "disconnected"
def action_contact_sync(self): def action_contact_sync(self):
""" """

Loading…
Cancel
Save