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
10760 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
4014
1
wrz 24
1448
1
gru 21
3713
2
gru 23
19620
2
sie 25
2351