Tutorial
https://www.youtube.com/watch?v=8E1-AV-kZWU
Overview
The Custom POS UI module customizes the Point of Sale (POS) interface in Odoo, enhancing the user experience by adding dynamic resizing capabilities to the product screen, adjusting the width of order lines, and allowing customizations for button colors. The module also enables advanced control over layout elements for a more flexible and responsive POS interface.
Features
1. Resizable Left Pane for Order Lines
- The module allows the left pane, which typically displays order lines, to be resized dynamically.
- Resize Handle: A visible resize handle is added to the right side of the left pane. When hovered over, it becomes visible and can be dragged to resize the order lines area.
- Dynamic Resizing: Users can adjust the width of the order lines, with the changes reflecting immediately. The left pane can be resized to suit specific business needs.
- Configuration: A configuration option is available to enable or disable this resizing feature based on business needs. When disabled, resizing will not be allowed, and the left pane's width remains fixed.
2. Dynamic Button Color Customization
- The module allows dynamic customization of the button color in the POS interface.
- Customizable Color: Through the settings, users can define a color for the POS buttons. This can be done through the configuration panel in the back-end.
- Global Button Style: The color is applied to all buttons under the `.control-buttons` class, allowing for a consistent visual theme throughout the POS system.
3. Minimize/Maximize Product List
- A feature to minimize or maximize the product list on the POS screen is added.
- Dynamic Toggle: A button allows users to toggle the visibility of the product list, minimizing it when not needed and maximizing it when required.
- Responsive Layout: The dynamic state of the product list is managed, ensuring the layout adapts accordingly. When minimized, the product list takes up less space, giving more room to other areas such as the order line or payment section.
4. Customizable Layout Settings
- The module provides flexibility to customize the layout through configuration fields in the back-end.
- Custom Widths: Set specific widths for various elements such as the product list, action buttons, and left pane (order lines). These can be set as percentages to fit the store’s needs.
- Control Panel Configuration: Configuration options are available for customizing the width of the `actionpad`, `control-buttons`, `product list`, and more.
5. Smooth User Interface Transitions
- Smooth transitions are implemented for UI changes, such as resizing elements or toggling the visibility of sections. This ensures a seamless user experience, especially when interacting with dynamic elements.
6. Easy Configuration from Odoo’s Backend
- The module is easy to configure from Odoo's backend using the `res_config` and `pos_config` settings.
- Control Dynamic Settings: Admins can adjust the dynamic button color, enable or disable the left pane resizing feature, and set widths for different UI elements directly from the POS configuration interface.
- Automatic UI Update: Changes made in the backend settings are reflected immediately in the POS interface.
Installation
- Download the Module: Place the module folder in the `addons` directory of your Odoo installation.
- Install the Module: Go to the Apps menu in Odoo. Click on Update Apps List and then search for the Custom POS UI module. Click Install.
- Configuration: After installation, you can configure the module settings:
- Go to Point of Sale > Configuration > Settings.
- Set the dynamic button color.
- Enable/disable the dynamic resizing of the left pane.
- Adjust the widths for various UI elements (e.g., actionpad, control buttons, left pane).
Usage
Resizing Left Pane (Order Line)
- Enable Resizing: If enabled from the backend, the left pane will display a resize handle on the right side. Simply hover over it and drag to adjust the width.
- Disable Resizing: If disabled, resizing will not be possible, and the left pane will remain fixed.
Custom Button Color
- Set Button Color: Go to the configuration settings and set a custom color code (e.g., `#f0ad4e` for a yellow button color). The color will be applied to all control buttons dynamically.
Minimize/Maximize Product List
- Toggle Product List Visibility: Use the provided button to minimize or maximize the product list. The product list will adjust based on the current screen size and layout.
Configuration Options
Available Configuration Fields:
- Left Pane Order Line Width (%): Adjust the width of the left pane where order lines are displayed.
- Control Button Width (%): Control the width of the action buttons.
- Action Pad Width (%): Control the width of the action pad (buttons for actions like `Payment`, `Cancel`, etc.).
- Dynamic Button Color: Set the color of the buttons in the POS interface.
- Enable Left Pane Resizing: Enable or disable the resizing functionality for the left pane.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module