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

So I need to make a Rest service which will call data from an specific model.

In order to do this, I must create a controller.

I'm newbie with Odoo, also with Json, and I can't find anything that could work for this.

Far I have is all I need but in a http request.

class RestService(http.Controller):
    @http.route('/orders/<model("sale.order"):order>', auth='none', website=True)
    def consulta_orden(self , order):
        return request.render('consulta_pedidos.order', {'order': order})
        
        return {'order_id': order_id}

The idea is that when I hace the data loaded, I can render this data in a template. Already did this with an Http request, but I need it with Json. Any tip about how to implement it better.

Awatar
Odrzuć
Najlepsza odpowiedź

Thank you for your answer. It help me a lot. :)

Can you give me a suggestion the link to study Owl and js for Odoo 15?

Awatar
Odrzuć
Najlepsza odpowiedź

Hello Sergio,


To render template with json type controller, you need to pass ajax.jsonRpc through JS and pass your controller url in that for eg.



JS Code:-


ajax.jsonRpc("/orders", 'call', {'order':order}).then(function (modal) {

                $modal.modal('hide') #if you want to hide that modal

            });


Controller code:- 


@http.route(['/orders'], type='json', auth='public',

                methods=['POST'], website=True)

    def consulta_orden(self, order):

        return request.env['ir.ui.view'].render_template(

            'consulta_pedidos.order', {'order': order})


You can also refer this link- https://www.odoo.com/forum/help-1/question/send-json-request-to-controller-the-last-will-render-a-snippet-template-150553


Regards,




Email:      odoo@aktivsoftware.com  

Skype: kalpeshmaheshwari

   

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
cze 23
3832
1
wrz 24
1269
1
gru 21
3555
2
gru 23
19320
1
cze 25
2102