From d36512b67809fb6eb5c73310bba063fa3cd8d845 Mon Sep 17 00:00:00 2001 From: Ravij Parikh Date: Thu, 8 Jan 2026 22:59:04 +0530 Subject: [PATCH 1/2] [ADD] pos_improvements: add manifest file Create the module manifest to declare metadata, dependencies, and assets required for the POS improvement module. --- pos_improvements/__manifest__.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 pos_improvements/__manifest__.py diff --git a/pos_improvements/__manifest__.py b/pos_improvements/__manifest__.py new file mode 100644 index 00000000000..010b75e8cd0 --- /dev/null +++ b/pos_improvements/__manifest__.py @@ -0,0 +1,9 @@ +{ + "name": "POS - Improvements", + "version": "1.0", + "description": "Enable direct payment from the ticket screen in POS", + "author": "Ravij Parikh (snrav)", + "application": True, + "depends": ["point_of_sale"], + "license": "LGPL-3" +} \ No newline at end of file From 3a423ce162d11d169a0e73d948ef6464c2fb119c Mon Sep 17 00:00:00 2001 From: Ravij Parikh Date: Sat, 10 Jan 2026 00:30:43 +0530 Subject: [PATCH 2/2] [IMP] pos_improvements: allow direct payment from TicketScreen Before: Cashiers were required to: 1. Use "Load Order" to open a ticket 2. Then press "Payment" to navigate to the PaymentScreen This resulted in an extra step during checkout. After: - Added a new "Payment" button next to "Load Order" on the TicketScreen - Clicking it loads the selected ticket and opens the PaymentScreen immediately Impact: Speeds up the cashier checkout process by reducing the number of actions needed to reach payment. Task: [5476673] --- pos_improvements/__manifest__.py | 10 ++++++++-- .../src/pos_ticket_screen/js/pos_ticket_screen.js | 9 +++++++++ .../src/pos_ticket_screen/xml/pos_ticket_screen.xml | 11 +++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 pos_improvements/static/src/pos_ticket_screen/js/pos_ticket_screen.js create mode 100644 pos_improvements/static/src/pos_ticket_screen/xml/pos_ticket_screen.xml diff --git a/pos_improvements/__manifest__.py b/pos_improvements/__manifest__.py index 010b75e8cd0..1c52e56d22b 100644 --- a/pos_improvements/__manifest__.py +++ b/pos_improvements/__manifest__.py @@ -5,5 +5,11 @@ "author": "Ravij Parikh (snrav)", "application": True, "depends": ["point_of_sale"], - "license": "LGPL-3" -} \ No newline at end of file + "license": "LGPL-3", + "assets": { + "point_of_sale.assets_prod": [ + "pos_improvements/static/src/pos_ticket_screen/js/pos_ticket_screen.js", + "pos_improvements/static/src/pos_ticket_screen/xml/pos_ticket_screen.xml" + ], + } +} diff --git a/pos_improvements/static/src/pos_ticket_screen/js/pos_ticket_screen.js b/pos_improvements/static/src/pos_ticket_screen/js/pos_ticket_screen.js new file mode 100644 index 00000000000..9422f31c1a2 --- /dev/null +++ b/pos_improvements/static/src/pos_ticket_screen/js/pos_ticket_screen.js @@ -0,0 +1,9 @@ +import { TicketScreen } from '@point_of_sale/app/screens/ticket_screen/ticket_screen'; +import { patch } from '@web/core/utils/patch'; + +patch(TicketScreen.prototype, { + async onPayClick() { + this.pos.setOrder(this.getSelectedOrder()); + this.pos.pay(); + }, +}); diff --git a/pos_improvements/static/src/pos_ticket_screen/xml/pos_ticket_screen.xml b/pos_improvements/static/src/pos_ticket_screen/xml/pos_ticket_screen.xml new file mode 100644 index 00000000000..956753f0622 --- /dev/null +++ b/pos_improvements/static/src/pos_ticket_screen/xml/pos_ticket_screen.xml @@ -0,0 +1,11 @@ + + + + + + + + + + +