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'])
|
_("Die Lieferbedingung mit dem Code \'%s\' kann nicht zugeordnet werden") % vals['incoterm'])
|
||||||
|
|
||||||
if vals.get('company_odoo_id', False):
|
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:
|
if parent_id:
|
||||||
vals['parent_id'] = parent_id.id
|
vals['parent_id'] = parent_id.id
|
||||||
vals['street'] = parent_id.street
|
vals['street'] = parent_id.street
|
||||||
|
|
|
||||||
|
|
@ -52,9 +52,12 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
if not partner:
|
if not partner:
|
||||||
raise ValidationError(_('Der Partner konnte nicht gefuden werden.'))
|
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})
|
partner.write({'portal_pending': False, 'active': True})
|
||||||
|
|
||||||
return self.send_to_portal(partner.portal_id, partner.id)
|
return True
|
||||||
|
|
||||||
def button_assign(self):
|
def button_assign(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
|
|
@ -63,10 +66,14 @@ class PortalAssignCompany(models.TransientModel):
|
||||||
if not partner:
|
if not partner:
|
||||||
raise ValidationError(_('Der Partner konnte nicht gefuden werden.'))
|
raise ValidationError(_('Der Partner konnte nicht gefuden werden.'))
|
||||||
portal_id = partner.portal_id
|
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()
|
partner.unlink()
|
||||||
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.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 self.env.ref('base.action_partner_form').read()[0]
|
||||||
return {'type': 'ir.actions.act_window_close'}
|
return {'type': 'ir.actions.act_window_close'}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue