From 8d00d3a5dccd3566216800b85371a84e1063c5b1 Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Tue, 1 Sep 2026 22:25:54 +0530 Subject: [PATCH] implement Uber integration, website customization, KDS enhancements, and POS receipt extensions --- addons/dine360_kds/static/src/js/pos_kds.js | 28 +- .../models/sale_order.py | 30 +- .../static/src/js/product_screen_patch.js | 16 +- .../static/src/xml/receipt_extension.xml | 286 ++------------ .../static/src/js/qz_wrapper.js | 17 +- .../models/product_template.py | 17 +- .../static/src/img/shivasakthi_logo_new.png | Bin 22510 -> 15310 bytes .../static/src/scss/theme.scss | 31 +- .../dine360_theme_shivasakthi/views/pages.xml | 280 +++++++------ .../views/product_views.xml | 9 + addons/dine360_uber/__manifest__.py | 2 +- addons/dine360_uber/controllers/main.py | 300 ++++++++++++-- addons/dine360_uber/models/pos_order.py | 370 ++++++++++++++---- addons/dine360_uber/models/pos_order_line.py | 37 +- addons/dine360_uber/models/sale_order.py | 2 - addons/dine360_uber/models/uber_config.py | 53 ++- .../static/src/js/uber_backend.js | 46 ++- addons/dine360_uber/static/src/js/uber_pos.js | 45 ++- addons/dine360_uber/views/pos_order_views.xml | 22 +- 19 files changed, 1004 insertions(+), 587 deletions(-) diff --git a/addons/dine360_kds/static/src/js/pos_kds.js b/addons/dine360_kds/static/src/js/pos_kds.js index 02f2c5e..2253e48 100644 --- a/addons/dine360_kds/static/src/js/pos_kds.js +++ b/addons/dine360_kds/static/src/js/pos_kds.js @@ -75,23 +75,25 @@ patch(PosStore.prototype, { console.log(`[KDS] Setting up channel: ${channel}`); try { - const busService = this.env.services.bus_service; - busService.addChannel(channel); - console.log("[KDS] Channel added successfully"); + const busService = this.bus_service || this.env?.services?.bus_service; + if (busService) { + busService.addChannel(channel); + console.log("[KDS] Channel added successfully"); - busService.addEventListener("notification", (event) => { - console.log("[KDS] *** NOTIFICATION RECEIVED ***", event); - const notifications = event.detail || []; + busService.addEventListener("notification", (event) => { + console.log("[KDS] *** NOTIFICATION RECEIVED ***", event); + const notifications = event.detail || []; - for (const notif of notifications) { - if (notif.type === 'kds_update') { - console.log("[KDS] *** KDS UPDATE ***", notif.payload); - this._handleKdsUpdate(notif.payload); + for (const notif of notifications) { + if (notif.type === 'kds_update') { + console.log("[KDS] *** KDS UPDATE ***", notif.payload); + this._handleKdsUpdate(notif.payload); + } } - } - }); + }); - console.log("[KDS] Listener registered successfully"); + console.log("[KDS] Listener registered successfully"); + } } catch (error) { console.error("[KDS] ERROR:", error); } diff --git a/addons/dine360_online_orders/models/sale_order.py b/addons/dine360_online_orders/models/sale_order.py index 96c9be3..02a088a 100644 --- a/addons/dine360_online_orders/models/sale_order.py +++ b/addons/dine360_online_orders/models/sale_order.py @@ -182,16 +182,38 @@ class SaleOrderOnline(models.Model): ], order='id desc', limit=1) if pos_order: - pos_order.write({ + pos_vals = { 'is_online_order': True, 'online_order_status': 'pending', 'sale_order_id': sale_order.id, '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, - }) + } + + # Check if this is an Uber delivery order + is_uber = False + if sale_order.fulfilment_type == 'delivery': + is_uber = True + elif sale_order.carrier_id and 'uber' in (sale_order.carrier_id.name or '').lower(): + is_uber = True + elif any('uber' in (l.product_id.name or '').lower() or 'delivery' in (l.product_id.name or '').lower() for l in sale_order.order_line if getattr(l, 'is_delivery', False)): + is_uber = True + + if is_uber: + pos_vals['is_uber_order'] = True + pos_vals['delivery_type'] = 'uber' + shipping = sale_order.partner_shipping_id or sale_order.partner_id + if shipping: + pos_vals['delivery_partner_id'] = shipping.id + pos_vals['delivery_street'] = f"{shipping.street or ''} {shipping.street2 or ''}".strip() + pos_vals['delivery_city'] = shipping.city or '' + pos_vals['delivery_zip'] = shipping.zip or '' + pos_vals['delivery_phone'] = shipping.phone or shipping.mobile or '' + if hasattr(sale_order, 'amount_delivery') and sale_order.amount_delivery > 0: + pos_vals['uber_delivery_fee'] = sale_order.amount_delivery + + pos_order.write(pos_vals) # Link back to sale order sale_order.write({'pos_order_id': pos_order.id}) diff --git a/addons/dine360_order_channels/static/src/js/product_screen_patch.js b/addons/dine360_order_channels/static/src/js/product_screen_patch.js index 3025dd1..e09ba17 100644 --- a/addons/dine360_order_channels/static/src/js/product_screen_patch.js +++ b/addons/dine360_order_channels/static/src/js/product_screen_patch.js @@ -4,17 +4,11 @@ import { patch } from "@web/core/utils/patch"; import { ProductScreen } from "@point_of_sale/app/screens/product_screen/product_screen"; import { ChannelPanel } from "./channel_panel"; -/** - * Patch ProductScreen to: - * 1. Register ChannelPanel as a component - * 2. Expose showChannelPanel computed property to the template - */ -patch(ProductScreen, { - components: { - ...ProductScreen.components, - ChannelPanel, - }, -}); +// Register ChannelPanel directly on ProductScreen components +ProductScreen.components = { + ...ProductScreen.components, + ChannelPanel, +}; patch(ProductScreen.prototype, { get showChannelPanel() { diff --git a/addons/dine360_order_channels/static/src/xml/receipt_extension.xml b/addons/dine360_order_channels/static/src/xml/receipt_extension.xml index 271170b..aaba395 100644 --- a/addons/dine360_order_channels/static/src/xml/receipt_extension.xml +++ b/addons/dine360_order_channels/static/src/xml/receipt_extension.xml @@ -1,268 +1,38 @@ + - -
- - -
Restaurant Receipt
- -
- Logo -
-
-
-
- Tel: - | -
-
-
+ +
+
+ Order Source: +
- -
"Authentic Indian Food At its Finest!"
- -
-
- Receipt No. - -
-
- Date & Time - -
-
- Cashier - -
-
- - - - - - - - - - - - - - - - - - -
List of ItemsQtyUnit CostAmount
- -
- -
-
- -
-
-
- Total Amount - -
-
- VAT - -
-
- Net Amount - -
- -
- Rounding - -
-
- To Pay - -
-
- - -
- - -
-
- Change - -
-
-
- - - - -
-
- Order Source: - -
-
- Fulfilment: - -
- - -
-
DELIVERY ADDRESS:
-
-
- -
-
Phone:
-
- Note: -
-
- - -
- Ref: -
-
- WhatsApp: -
-
- -
- +
+ Fulfilment: +
-
-

Powered by Dine360

+ +
+
DELIVERY ADDRESS:
+
+
+ +
+
Phone:
+
+ Note: +
+
+ + +
+ Ref: +
+
+ WhatsApp:
diff --git a/addons/dine360_qz_printer/static/src/js/qz_wrapper.js b/addons/dine360_qz_printer/static/src/js/qz_wrapper.js index 504a2b0..00d1b83 100644 --- a/addons/dine360_qz_printer/static/src/js/qz_wrapper.js +++ b/addons/dine360_qz_printer/static/src/js/qz_wrapper.js @@ -1,4 +1,4 @@ -/** @odoo-module */ +/** @odoo-module */ import { patch } from "@web/core/utils/patch"; import { ReceiptScreen } from "@point_of_sale/app/screens/receipt_screen/receipt_screen"; @@ -393,7 +393,10 @@ patch(ReceiptScreen.prototype, { return false; } } - return super.printReceipt(...arguments); + if (typeof super.printReceipt === "function") { + return super.printReceipt(...arguments); + } + return false; }, }); @@ -445,8 +448,8 @@ async function buildEscPosKitchenTicket(order, pos, changes) { patch(PosStore.prototype, { async sendOrderToPrinter(order) { if (this.config.use_qz_printer && this.config.qz_kitchen_printer_name) { - const changes = order.computeChanges(); - if (Object.keys(changes.categories).length > 0) { + const changes = typeof order.computeChanges === "function" ? order.computeChanges() : {}; + if (changes && changes.categories && Object.keys(changes.categories).length > 0) { try { if (!window.qz) { console.error("QZ Tray library not loaded."); @@ -472,11 +475,13 @@ patch(PosStore.prototype, { return true; } catch (err) { console.error("QZ Tray Kitchen Print Error:", err); - // Fallback or show error } } return true; } - return super.sendOrderToPrinter(...arguments); + if (typeof super.sendOrderToPrinter === "function") { + return super.sendOrderToPrinter(...arguments); + } + return true; }, }); diff --git a/addons/dine360_theme_shivasakthi/models/product_template.py b/addons/dine360_theme_shivasakthi/models/product_template.py index f8eaf94..5d6790e 100644 --- a/addons/dine360_theme_shivasakthi/models/product_template.py +++ b/addons/dine360_theme_shivasakthi/models/product_template.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from odoo import models, fields +from odoo import models, fields, api class ProductTemplate(models.Model): _inherit = 'product.template' @@ -9,3 +9,18 @@ class ProductTemplate(models.Model): default=False, help='Check this to show this product in Popular Deals section on Homepage' ) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if 'name' in vals and vals.get('name'): + name = vals.get('name', '') + if not vals.get('website_meta_title'): + vals['website_meta_title'] = f"{name} | Shiva Sakthi Restaurant" + if not vals.get('website_meta_description'): + desc = vals.get('description_sale') or vals.get('description') or '' + if desc: + vals['website_meta_description'] = desc[:150] + else: + vals['website_meta_description'] = f"Enjoy delicious, authentic {name} at Shiva Sakthi Restaurant, Mississauga. Order online now for dine-in, take-out, or catering." + return super(ProductTemplate, self).create(vals_list) diff --git a/addons/dine360_theme_shivasakthi/static/src/img/shivasakthi_logo_new.png b/addons/dine360_theme_shivasakthi/static/src/img/shivasakthi_logo_new.png index a0f7d89fd08fa4b05323c50960d8338f39b00ac5..99a0afa06fb33cf8b19ba94d8a4043f4307ccf6a 100644 GIT binary patch literal 15310 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 literal 22510 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