diff --git a/pos_pay/__manifest__.py b/pos_pay/__manifest__.py new file mode 100644 index 00000000000..9b95996e8e5 --- /dev/null +++ b/pos_pay/__manifest__.py @@ -0,0 +1,24 @@ +{ + "name": "Instant Pay", + "summary": """ + Pay directly from Ticked Screen + """, + "description": """ + Pay directly from Ticked Screen + """, + "author": "Odoo", + "website": "https://www.odoo.com/", + "category": "Tutorials", + "version": "0.1", + "application": True, + "installable": True, + "depends": ["base", "point_of_sale"], + "data": [], + "assets": { + "point_of_sale._assets_pos": [ + "pos_pay/static/src/app/screens/ticket_screen.js", + "pos_pay/static/src/app/screens/ticket_screen.xml", + ], + }, + "license": "AGPL-3", +} diff --git a/pos_pay/static/src/app/screens/ticket_screen.js b/pos_pay/static/src/app/screens/ticket_screen.js new file mode 100644 index 00000000000..7fa8d4d38b8 --- /dev/null +++ b/pos_pay/static/src/app/screens/ticket_screen.js @@ -0,0 +1,14 @@ +import { patch } from "@web/core/utils/patch"; +import { TicketScreen } from "@point_of_sale/app/screens/ticket_screen/ticket_screen"; + +patch(TicketScreen.prototype, { + payFromTicketScreen() { + const selectedOrder = this.getSelectedOrder(); + if (!selectedOrder) { + this.env.services.notification.add("No order selected"); + return; + } + this.setOrder(selectedOrder); + this.pos.pay(); + }, +}); diff --git a/pos_pay/static/src/app/screens/ticket_screen.xml b/pos_pay/static/src/app/screens/ticket_screen.xml new file mode 100644 index 00000000000..2a96d9651ad --- /dev/null +++ b/pos_pay/static/src/app/screens/ticket_screen.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + +