feat: hide invoice button and restyle partner button on POS payment screen

This commit is contained in:
Suherdy Yacob 2026-06-02 08:14:53 +07:00
parent d124a934ca
commit b9658d87dd
3 changed files with 19 additions and 1 deletions

View File

@ -22,7 +22,10 @@ Same approach for the order/cart display.
- Scrolling loads more lines progressively
- Ensures the selected line is always visible (expands count if needed)
### 3. Portrait Mode (6-inch Display)
### 3. Hide Invoice Button
Hides the "Invoice" button on the payment stage (Payment Screen) and expands the Customer/Partner button to full width, preventing cashiers from using this button.
### 4. Portrait Mode (6-inch Display)
A dedicated compact layout for portrait-orientation small screens. Designed for devices like 6-inch Android POS terminals where the standard Odoo two-column layout clutters the screen.
@ -123,6 +126,8 @@ pos_ui_optimization/
│ │ │ ├── order_display_patch.js # Incremental order line rendering
│ │ │ └── order_display_patch.xml
│ │ ├── screens/
│ │ │ ├── payment_screen/
│ │ │ │ └── payment_screen_patch.xml # Hide Invoice button patch
│ │ │ └── product_screen/
│ │ │ ├── portrait_mode_patch.js # Tab state (products/cart/numpad)
│ │ │ ├── portrait_screen.xml # Portrait layout XML patch

View File

@ -26,6 +26,8 @@ Features
'pos_ui_optimization/static/src/app/components/order_display/order_display_patch.xml',
'pos_ui_optimization/static/src/app/screens/product_screen/product_screen_patch.js',
'pos_ui_optimization/static/src/app/screens/product_screen/product_screen_patch.xml',
# Payment screen patches
'pos_ui_optimization/static/src/app/screens/payment_screen/payment_screen_patch.xml',
# Portrait mode — service must load first
'pos_ui_optimization/static/src/app/services/portrait_mode.js',
# Navbar display-mode toggle

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-inherit="point_of_sale.PaymentScreenButtons" t-inherit-mode="extension" owl="1">
<xpath expr="//button[hasclass('js_invoice')]" position="attributes">
<attribute name="t-if">false</attribute>
</xpath>
<xpath expr="//button[hasclass('partner-button')]" position="attributes">
<attribute name="class">button partner-button btn btn-lg w-100 lh-lg text-truncate</attribute>
</xpath>
</t>
</templates>