Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
7378 Vistas

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?

Avatar
Descartar
Mejor respuesta

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
Avatar
Descartar
Autor Mejor respuesta

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 !

Avatar
Descartar

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.

Autor

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

Publicaciones relacionadas Respuestas Vistas Actividad
1
mar 15
10095
3
jul 25
8578
1
jun 25
2208
2
jun 25
528
1
may 25
874