تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
5979 أدوات العرض

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

الصورة الرمزية
إهمال

can you explain more or give an example?

الكاتب

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

أفضل إجابة

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.

الصورة الرمزية
إهمال
الكاتب

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.

المنشورات ذات الصلة الردود أدوات العرض النشاط
0
مايو 16
3534
2
ديسمبر 15
3482
3
نوفمبر 16
6813
2
يوليو 23
2773
1
يناير 22
3902