Chandu
Chandu

Reputation: 2129

Create method is not working properly for res.partner in odoo?

When I'm creating records manually in [ Invoicing > Customers ] partner records were creating properly with default 'customer'=True (boolean field) which is located in Sales & Purchases Page of Customers form. Problem is while I'm trying to create records with below code its working but not creating res.partners as 'customer'=True.

class RFID_users(osv.osv):
    _name = 'res.users'
    _inherit = ['res.users','mail.thread']

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

        if not context:
            context = {}
        if vals.get('login',False):
            vals.update({'email':vals.get('login')})
            model_obj = self.pool.get('ir.model.data')
            group = model_obj.get_object_reference(cr,uid,'rfid_ticketing','group_user_customer')
        if len(group) == 2:
            group_id = group[1]
        if context.get('default_user_type',False) == 'ticket_user':
           vals.update({'in_group_'+str(group_id):True})

        return super(RFID_users,self).create(cr,uid,vals,context=context)
        return self.pool.get('res.partner').create(cr,uid, 'customer':True,'name':vals['name'], "mobile":vals['mobile_user'], 'email':vals['login']},context=context)
        return objz.create(cr,uid,new_valsz,context=context)

FYI: Record is creating but 'customer' becoming False.if we create record manually there is it's true by default.P.S Focus on this line...

    return self.pool.get('res.partner').create(cr,uid,{'customer':True,'name':vals['name'], "mobile":vals['mobile_user'],
    'email':vals['login']},context=context)

Any help?? Thanks

Upvotes: 0

Views: 988

Answers (1)

Alessandro Ruffolo
Alessandro Ruffolo

Reputation: 1575

You should unify your create, this should do the trick:

    vals.update({'customer':True,'name':vals['name'], 'mobile':vals['mobile_user'], 'email':vals['login']})
    return super(RFID_users,self).create(cr,uid,vals,context=context)

about return objz.create(cr,uid,new_valsz,context=context)

this is going to not work at all because you did not declare anywhere what are objz and new_valsz, thus just remove or comment it.

Upvotes: 1

Related Questions