This question has been flagged

Hello,

I have seen the odoo code for the creation of a new company:


def create(self, cr, uid, vals, context=None):
if not vals.get('name', False) or vals.get('partner_id', False):
self.cache_restart(cr)
return super(res_company, self).create(cr, uid, vals, context=context)
obj_partner = self.pool.get('res.partner')
partner_id = obj_partner.create(cr, uid, {'name': vals['name'], 'is_company':True, 'image': vals.get('logo', False)}, context=context)
vals.update({'partner_id': partner_id})
self.cache_restart(cr)
company_id = super(res_company, self).create(cr, uid, vals, context=context)
obj_partner.write(cr, uid, [partner_id], {'company_id': company_id}, context=context)
return company_id

The first three lines seems to allow the new company to be created using the specified partner..

This seems to intentionally omit the association of the given partner to the newly created company (the line before the last return).

Is this a bug or they want to allow a company to share the partner with another company ? In which scenarios would this be useful ?.

Best regards

Avatar
Discard