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