Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
6003 Tampilan

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
Buang

can you explain more or give an example?

Penulis

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

Jawaban Terbai

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
Buang
Penulis

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.

Post Terkait Replies Tampilan Aktivitas
0
Mei 16
3553
2
Des 15
3482
3
Nov 16
6842
2
Jul 23
2798
1
Jan 22
3909