Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
2 Besvarelser
2998 Visninger

Hi,

I'm using Odoo ONLINE and I need to add the possibility for a user to upload files from a Survey.

It's seems that we can't use Odoo Apps to satisfy the quest but maybe we can counter this situation by collecting the file's input datas with a JS script and send it to store the files in the ir.attachments module and link his ID to the corresponding survey module.


IS IT POSSIBLE TO CREATE A NEW RECORD FROM A JS FILE ? IF SO, HOW ?


Yours faithfully,

RANDRIATAVY Mandresy

Avatar
Kassér
Bedste svar

Yes, you can call python function with js rpc query and you can pass arguments to the python function.

Example :

rpc.query({
model: 'your.model,
method: 'your_function_name',
args: [agr1, arg2],
}).then(function(result) {

//after success

});

Avatar
Kassér
Forfatter

Thanks you I’ll try

Bedste svar

Hi,
It is possible to create a record from a js file. There are two ways to do it. 

You can use rpc.query or ajax.jsonRpc.

Using rpc.query, you can define a model and a method inside the model and pass arguments as required to it. The method will be triggered and you can get the value returned by the python function in the .then method of js.

Example

var rpc = require('web.rpc');

rpc.query({
model: 'your_model',
method: 'your_function',
args: [arguments],
}).then(function(result) {
// result will have the value returned from python function.
});

Using ajax.jsonRpc, you can define a route to which the call will be passed. The route will be of type json. 

var ajax = require('web.ajax');

ajax.jsonRpc('/route_name',
'call',{'arg_1': arg_1_value, 'arg_2': arg_2_value})
.then(function (result) {
// result will have the value returned from the python controller.
});

In python,

@route(['/route_name'], type='json', auth='your_authentication')
def route_name(self, **kwargs):
return True

Regards

Avatar
Kassér
Forfatter

Thanks for the detailed answer, sounds Aravind was right too.

Related Posts Besvarelser Visninger Aktivitet
0
jul. 24
1218
12
jan. 16
35722
2
jun. 25
2388
0
jul. 23
2320
1
jun. 23
2033