Bugfix: Problem mit Deadlock behoben
parent
f075ecc8d3
commit
b317e4a23f
|
|
@ -216,7 +216,7 @@ class Partner(models.Model):
|
|||
_("Die Lieferbedingung mit dem Code \'%s\' kann nicht zugeordnet werden") % vals['incoterm'])
|
||||
|
||||
if vals.get('company_odoo_id', False):
|
||||
parent_id = self.env['res.partner'].search([('id', '=', vals['company_odoo_id'])])
|
||||
parent_id = self.env['res.partner'].with_context(active_test=False).search([('id', '=', vals['company_odoo_id'])])
|
||||
if parent_id:
|
||||
vals['parent_id'] = parent_id.id
|
||||
vals['street'] = parent_id.street
|
||||
|
|
|
|||
|
|
@ -52,9 +52,12 @@ class PortalAssignCompany(models.TransientModel):
|
|||
if not partner:
|
||||
raise ValidationError(_('Der Partner konnte nicht gefuden werden.'))
|
||||
|
||||
# Wichtig hier ist, dass dieser Call vor dem ersten Write stattfindet, da das Portal
|
||||
# parallel einen Call absetzt, dann dann blockieren würde.
|
||||
self.send_to_portal(partner.portal_id, partner.id)
|
||||
partner.write({'portal_pending': False, 'active': True})
|
||||
|
||||
return self.send_to_portal(partner.portal_id, partner.id)
|
||||
return True
|
||||
|
||||
def button_assign(self):
|
||||
self.ensure_one()
|
||||
|
|
@ -63,10 +66,14 @@ class PortalAssignCompany(models.TransientModel):
|
|||
if not partner:
|
||||
raise ValidationError(_('Der Partner konnte nicht gefuden werden.'))
|
||||
portal_id = partner.portal_id
|
||||
|
||||
# Wichtig hier ist, dass dieser Call vor dem ersten Write stattfindet, da das Portal
|
||||
# parallel einen Call absetzt, dann dann blockieren würde.
|
||||
self.send_to_portal(portal_id, self.main_partner_id.id)
|
||||
partner.unlink()
|
||||
if not self.main_partner_id.portal_id:
|
||||
self.main_partner_id.portal_id = portal_id
|
||||
self.send_to_portal(self.main_partner_id.portal_id, self.main_partner_id.id)
|
||||
|
||||
|
||||
return self.env.ref('base.action_partner_form').read()[0]
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
|
|
|||
Loading…
Reference in New Issue