Odoo Help

0

Write function not working

By
Shawn Varghese
on 5/26/15, 5:23 AM 1,096 views

I have been trying for days to fix this problem. Any help would be greatly appreciated:


I have a function:

class res_users(osv.osv):
_inherit="res.users"

def change_value(self,cr,uid)
self.write(cr,uid,uid,{'token1':'a'})
return True

I need to call this from an http.Controller class:

class something(http.Controller):

def call_users(self,data):
registry = openerp.modules.registry.RegistryManager.get('test')
cr=registry.cursor()
uid=request.session.uid
registry.get('res.users').change_value(cr,uid)

cr.close()

The whole thing executes without any issues and the function does get called and the write() function even returns True but no values are not written into the database! token1 field is still empty after execution.

I tried calling the change_value() from Javascript, and it works properly. I have no clue what's going on. Can anyone please help?

1

Hi,

you need to write down your controller as like below. Might be helpful to you.

class res_users(osv.osv):

    _inherit="res.users"

    def change_value(self,cr,uid,context={})

        self.write(cr,uid,uid,{'token1':'a'})

        return True


class something(http.Controller):

def call_users(self,data):
     cr, uid, context = request.cr, request.uid, request.context
request.registry.get('res.users').change_value(cr,uid,context=context)
return True
0
Shawn Varghese
On 5/26/15, 6:45 AM

Thank you ! I would never have got it. The problem, as you pointed out, was with the way I was using registry. I should not be assigning it the way I did, but use it through request.registry.

I still have no idea what the difference is. Could you please throw some light on what the concept is here or where I can read about it?

Thanks again !

In your code only the issue with cr = registry.cursor(). It is created new cursor and you have done your process with that new cursor. And also your cursor is closed before your method ends. thats it.

Emipro Technologies Pvt. Ltd.
on 5/26/15, 7:03 AM

Oh ok. Yes, that makes sense. Thanks for clearing that up.

ePillars Systems LLC, Shawn Varghese
on 5/26/15, 7:11 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)

Stats

Asked: 5/26/15, 5:23 AM
Seen: 1096 times
Last updated: 5/26/15, 6:45 AM