Fix for sending pricelist for existing (assigned) partner
parent
cf5a530b87
commit
a1c233b9f2
|
|
@ -7,6 +7,7 @@ import requests
|
||||||
from odoo import tools, api, fields, models, _
|
from odoo import tools, api, fields, models, _
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|
||||||
|
import ssl
|
||||||
|
|
||||||
class PortalAssignCompany(models.TransientModel):
|
class PortalAssignCompany(models.TransientModel):
|
||||||
_name = 'portal.assign_company'
|
_name = 'portal.assign_company'
|
||||||
|
|
@ -44,8 +45,20 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
'portal_id': lPortal_id,
|
'portal_id': lPortal_id,
|
||||||
'company_odoo_id': odoo_id
|
'company_odoo_id': odoo_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
_create_unverified_https_context = ssl._create_unverified_context
|
||||||
|
except AttributeError:
|
||||||
|
# Legacy Python that doesn't verify HTTPS certificates by default
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
# Handle target environment that doesn't support HTTPS verification
|
||||||
|
ssl._create_default_https_context = _create_unverified_https_context
|
||||||
|
|
||||||
|
try:
|
||||||
response = requests.post(portal_url + '/api/v1/set-odoo-id/?secret=' + application_id,
|
response = requests.post(portal_url + '/api/v1/set-odoo-id/?secret=' + application_id,
|
||||||
data=json.dumps(data))
|
data=json.dumps(data))
|
||||||
|
|
||||||
if response.status_code != 200:
|
if response.status_code != 200:
|
||||||
error_content = True
|
error_content = True
|
||||||
error_msg = ""
|
error_msg = ""
|
||||||
|
|
@ -60,6 +73,9 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
raise UserError(_('Die Odoo id konnte für den Partner nicht gesetzt werden. '
|
raise UserError(_('Die Odoo id konnte für den Partner nicht gesetzt werden. '
|
||||||
'Status Code: %s, Reason: %s') % (response.status_code, response.reason))
|
'Status Code: %s, Reason: %s') % (response.status_code, response.reason))
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
def button_activate(self):
|
def button_activate(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
partner = self.env['res.partner'].browse(self.env.context.get('active_ids', []))
|
partner = self.env['res.partner'].browse(self.env.context.get('active_ids', []))
|
||||||
|
|
@ -69,7 +85,7 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
# Wichtig hier ist, dass dieser Call vor dem ersten Write stattfindet, da das Portal
|
# Wichtig hier ist, dass dieser Call vor dem ersten Write stattfindet, da das Portal
|
||||||
# parallel einen Call absetzt, der dann blockieren würde.
|
# parallel einen Call absetzt, der dann blockieren würde.
|
||||||
self.send_to_portal(partner.portal_id, partner.id)
|
self.send_to_portal(partner.portal_id, partner.id)
|
||||||
partner.write({'portal_pending': False, 'active': True})
|
partner.write({'portal_pending': False, 'portal_pending': False, 'active': True})
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
@ -88,6 +104,8 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
if not self.main_partner_id.portal_id:
|
if not self.main_partner_id.portal_id:
|
||||||
self.main_partner_id.portal_id = portal_id
|
self.main_partner_id.portal_id = portal_id
|
||||||
|
|
||||||
|
self.env['res.partner'].export_portal_partner_pricelist(self.main_partner_id)
|
||||||
|
|
||||||
action = self.env.ref('base.action_partner_form').read()[0]
|
action = self.env.ref('base.action_partner_form').read()[0]
|
||||||
action['res_id'] = self.main_partner_id.id
|
action['res_id'] = self.main_partner_id.id
|
||||||
return action
|
return action
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue