# -*- coding: utf-8 -*- import werkzeug from odoo import http from odoo.http import request from odoo.tools import consteq class PosOrderTrackingDisplay(http.Controller): @http.route("/pos-order-tracking/", auth="public", type="http", website=True) def pos_order_tracking_display(self, access_token): preparation_display_sudo = ( request.env["pos.prep.display"] .sudo() .search([("access_token", "=", access_token)], limit=1) ) if not preparation_display_sudo: raise werkzeug.exceptions.NotFound() return request.render( "pos_order_tracking_display.index", { "session_info": { **request.env["ir.http"].get_frontend_session_info(), "preparation_display": preparation_display_sudo.read(["access_token", "auto_clear", "clear_time_interval"])[0], "initial_data": preparation_display_sudo._get_pos_orders(), "db": request.env.cr.dbname, }, }, ) @http.route("/pos-order-tracking/get_orders", auth="public", type="jsonrpc") def get_orders(self, id, access_token): pdis_sudo = request.env["pos.prep.display"].sudo().browse(id) if not pdis_sudo.exists() or not consteq(pdis_sudo.access_token, access_token): raise werkzeug.exceptions.NotFound() return {'orders': pdis_sudo._get_pos_orders()}