40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
# -*- 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()}
|