From 376f70feb6325f9c53a56a0eda46b9aad868cb71 Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Mon, 6 Apr 2026 18:03:10 +0530 Subject: [PATCH] add Uber integration module, implement online order management in POS, and customize website checkout address form --- .../dine360_online_orders/models/pos_order.py | 1 + .../models/sale_order.py | 4 + .../views/checkout_address.xml | 146 ++++++++++++++++-- addons/dine360_uber/__manifest__.py | 2 +- addons/dine360_uber/controllers/main.py | 35 +++++ addons/dine360_uber/models/__init__.py | 1 + addons/dine360_uber/models/sale_order.py | 23 +++ addons/dine360_uber/models/uber_config.py | 50 ++++++ 8 files changed, 250 insertions(+), 12 deletions(-) create mode 100644 addons/dine360_uber/models/sale_order.py diff --git a/addons/dine360_online_orders/models/pos_order.py b/addons/dine360_online_orders/models/pos_order.py index 9182683..af1c902 100644 --- a/addons/dine360_online_orders/models/pos_order.py +++ b/addons/dine360_online_orders/models/pos_order.py @@ -30,6 +30,7 @@ class PosOrder(models.Model): string='Online Order Date', default=fields.Datetime.now ) + delivery_time = fields.Datetime(string='Requested Delivery Time') # Note: order_source and fulfilment_type fields are defined in dine360_order_channels # dine360_online_orders just uses these fields diff --git a/addons/dine360_online_orders/models/sale_order.py b/addons/dine360_online_orders/models/sale_order.py index 5107a20..0d46971 100644 --- a/addons/dine360_online_orders/models/sale_order.py +++ b/addons/dine360_online_orders/models/sale_order.py @@ -41,6 +41,8 @@ class SaleOrderOnline(models.Model): ('interac', 'Interac'), ], string='Payment Option', tracking=True) + delivery_time = fields.Datetime(string='Requested Delivery Time', tracking=True) + telephone_number = fields.Char('Telephone Number') reservation_source = fields.Selection([ @@ -82,6 +84,8 @@ class SaleOrderOnline(models.Model): 'online_order_date': fields.Datetime.now(), 'order_source': sale_order.order_source or 'online', 'fulfilment_type': sale_order.fulfilment_type or 'pickup', + 'delivery_time': sale_order.delivery_time, + 'uber_eta': sale_order.delivery_time, }) # Link back to sale order diff --git a/addons/dine360_theme_chennora/views/checkout_address.xml b/addons/dine360_theme_chennora/views/checkout_address.xml index 882a2b1..650007c 100644 --- a/addons/dine360_theme_chennora/views/checkout_address.xml +++ b/addons/dine360_theme_chennora/views/checkout_address.xml @@ -93,6 +93,24 @@ opacity: 0 !important; overflow: hidden !important; } + + .uber-status-badge { + padding: 10px 15px; + border-radius: 8px; + font-weight: 600; + margin-top: 10px; + display: none; + } + .uber-status-available { + background: #d1f7ec; + color: #0e6245; + border: 1px solid #a2eed9; + } + .uber-status-unavailable { + background: #fee2e2; + color: #b91c1c; + border: 1px solid #fecaca; + }
@@ -120,6 +138,15 @@
+ + +
+
+ + + Checking delivery availability... +
+