28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from odoo import models, fields, api
|
|
|
|
class PosOrderLine(models.Model):
|
|
_inherit = 'pos.order.line'
|
|
|
|
def action_mark_ready(self):
|
|
"""Override to check if we should request Uber delivery when items are ready"""
|
|
res = super(PosOrderLine, self).action_mark_ready()
|
|
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
for line in self:
|
|
order = line.order_id
|
|
# Auto-request if it's marked as Uber delivery or online delivery order and not yet requested
|
|
is_delivery = (
|
|
order.delivery_type == 'uber' or
|
|
order.fulfilment_type == 'delivery' or
|
|
order.is_uber_order
|
|
)
|
|
if is_delivery and not order.uber_delivery_id:
|
|
if order._check_all_lines_ready():
|
|
try:
|
|
order.action_request_uber_delivery()
|
|
except Exception as e:
|
|
logger.error("KDS Auto Uber dispatch failed for order %s: %s", order.name, str(e))
|
|
|
|
return res
|