Skip to Content
Menu
This question has been flagged
2 Replies
5333 Views

i declared two field 'firstname' and 'secondname' in the rh.employee model and i want to concatenate both of them on the name field.

here is the function that i am declared 


def create(self, cr, uid, vals, context=None):

        new_id = super(HrEmployeePrivate, self).create(cr, uid, vals, context=context)

        names = (vals['Prénom'], vals['Nom'])

        fullname = " ".join([s for s in names if s])

        vals['name'] = fullname

        return new_id


and i call the function in the field name as well 


name = fields.Char(string="Employee Name",compute='create', related='resource_id.name', store=True, readonly=False, tracking=True)


but when i clck save, i get

the operation cannot be completed,

probably due to the following: 

creation/update: a mandatory field is not correctly set


Avatar
Discard
Author

thanks, but the field that i want to be filled with the concatenation value is already exist

i replace the vals['full_name'] with vals['name']

and in the field i called the function but the same error shows up 

Best Answer

Hi,

Try like this,

@api.model
def create(self, vals):
full_name = ''
if vals.get('firstname'):
full_name += vals['firstname']
if vals.get('secondname'):
full_name += vals['secondname']
vals['full_name'] = full_name
res = super(ResPartner, self).create(vals)
return res

firstname = fields.Char(string="First Name")
secondname = fields.Char(string="Second Name")
full_name = fields.Char(string="Name")

Thanks

Avatar
Discard
Related Posts Replies Views Activity
4
May 24
10079
1
Apr 24
1566
0
Nov 23
525
1
Sep 23
572
2
Aug 23
2430