Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
5678 Widoki

Hi everybody,

I work in different environment where I connect to OpenERP v7 through the XML-RPC protocol, but I have one probleme, In my environment I can't pass a domain for example :

EXECUTE dbname="demo" user=1 pwd="admin" model="res.partner" method="search" args=[(1,'=',1)]

the types here are String (for dbname, pwd, model, method) and Integer (for user) but for args my environment doesn't accept object or array of object or list so I have to pass the string such as

EXECUTE dbname="demo" user=1 pwd="admin" model="res.partner" method="search" args="[(1,'=',1)]"

I want now that I catch this String in the method execute and evaluate the string to domain, but where can I find the source of this method

Thanks in advance

Awatar
Odrzuć
Najlepsza odpowiedź

The same XMLRPC problem is addressed here for the connection with Talend "Big Data".

You have to overwrite the search (and also write, read, ..) function of the partner somehow like this:

    def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
        if isinstance(args, str):
            args = eval(args)

        return super(res_partner, self).search(cr, uid, args, offset, limit, order, context=context, count=count)

If you want to have this for all objects, then you can also adapt osv.osv.

Awatar
Odrzuć
Autor

Thanks for the reply, I hope that will work, I want to ask you if you know where the relation bewtween execute and search in this case, OpenERP catch first the execute paramaters, then It fetchs the method argument if equal to search it call search in the orm. I need this point if you know where is the source

The "method" is the python method of the related object ("model"). OpenERP directly calls the "method" and assumes that it has been defined in python.

Autor

Ok, Thank you

Powiązane posty Odpowiedzi Widoki Czynność
3
lip 25
3847
0
maj 25
725
2
mar 24
1926
1
wrz 23
1481
0
sty 23
1575