Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
2122 Представления

hi all , iam trying to override the create method of hr.employee , what iam trying to odoo is when i create a employee it should create a contact record too both at same time . please check my code below tell me what i did wrong there



class ResPartnerInherit(models.Model):

    _inherit = 'hr.employee'


    @api.model

    def create(self, vals):

        res = super(ResPartnerInherit, self).create(vals)

        pdb.set_trace()

        if vals['name']:

            vals= self.env['res.partner'].create({'name':vals['name']})

        return res

        

Аватар
Отменить
Автор

@api.model

def create(self, vals):

res = super(ResPartnerInherit, self).create(vals)

pdb.set_trace()

#if vals['name']:

#if self.name:

if vals.get('name'):

#vals = self.env['res.partner'].create({'name':vals['name']})

vals = self.env['res.partner'].create({'name': self.name})

return res

i even tried like this seems like the prob is here if vals['name']:

Лучший ответ

Hi,

Try this :class HREmployee(models.Model):

    _inherit = 'hr.employee'


    @api.model

    def create(self, vals):

        # Call super to create the employee

        employee = super(HREmployee, self).create(vals)


        # Create a contact if the employee has a name

        if 'name' in vals:

            self.env['res.partner'].create({'name': vals['name']})


        return employee


Hope it helps

Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
авг. 25
2709
1
июл. 25
1083
1
авг. 25
1151
0
мая 25
1510
2
апр. 25
3681