Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
5984 Vistas

Hi Dear Friends,

I would like to have my own web service methods newly or override the existing one. Can anybody suggest me how to do that?

Thanks

Avatar
Descartar

can you explain more or give an example?

Autor

Right now, the standard openerp web service is based on the objects ( partner, sales order etc.). The operations are read, write, update,delete. The default methods just bring the values as it is in case I use the read method on a partner object. But I would like to override the method and do some changes. So that , the users of my webservice get the right data and in the right format

Mejor respuesta

Hi,

you can overwrite all methods according to your needs.just create a new module inherit of your object .

for example :

Method create

def create(self, cr, uid, values, context=None):                
        #your treatment       
        return super(res_partner, self).create(cr, uid, values, context)

Method copy :

 def copy(self, cr, uid, id, default=None, context=None):
            if not default:
                default = {}
            #your treatment
            default.update({           
                'name': ' custom name',
            })
            return super(res_partner, self).copy(cr, uid, id, default, context=context)

Thanks.

Avatar
Descartar
Autor

Yes. That will work. People will find your answer useful for straight forward use. But, If I have to pass over the json result in a particular format, Just overriding the method will not help for my strange requirement I think. Because OpenERP passes the data over in json format. That is not the desired format for me. I want it to be in a different data structure. I should do that only in the osv file. Correct me if I am wrong.

Publicaciones relacionadas Respuestas Vistas Actividad
0
may 16
3535
2
dic 15
3482
3
nov 16
6816
2
jul 23
2776
1
ene 22
3903