remove shitty addon
|
@ -1,46 +0,0 @@
|
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
|
||||
Simplified POS
|
||||
===============
|
||||
This module provides all aspects of pos on a single page in Odoo.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
* No Additional configuration is needed.
|
||||
|
||||
License
|
||||
-------
|
||||
General Public License, Version 3 (AGPL-3).
|
||||
(https://www.odoo.com/documentation/user/16.0/legal/licenses/licenses.html)
|
||||
|
||||
Company
|
||||
-------
|
||||
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
|
||||
|
||||
Credits
|
||||
-------
|
||||
Developer: Swetha Anand @cybrosys, Contact: odoo@cybrosys.com
|
||||
|
||||
Contacts
|
||||
--------
|
||||
* Mail Contact : odoo@cybrosys.com
|
||||
* Website : https://cybrosys.com
|
||||
|
||||
Bug Tracker
|
||||
-----------
|
||||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
|
||||
|
||||
Maintainer
|
||||
==========
|
||||
.. image:: https://cybrosys.com/images/logo.png
|
||||
:target: https://cybrosys.com
|
||||
|
||||
This module is maintained by Cybrosys Technologies.
|
||||
|
||||
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
|
||||
|
||||
Further information
|
||||
===================
|
||||
HTML Description: `<static/description/index.html>`__
|
|
@ -1,21 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
###############################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
#
|
||||
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
|
||||
# Author: Swetha Anand (odoo@cybrosys.com)
|
||||
#
|
||||
# You can modify it under the terms of the GNU AFFERO
|
||||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
# (AGPL v3) along with this program.
|
||||
# If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###############################################################################
|
|
@ -1,58 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
###############################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
#
|
||||
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
|
||||
# Author: Swetha Anand (odoo@cybrosys.com)
|
||||
#
|
||||
# You can modify it under the terms of the GNU AFFERO
|
||||
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
# (AGPL v3) along with this program.
|
||||
# If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###############################################################################
|
||||
{
|
||||
'name': 'Simplified POS',
|
||||
'version': '16.0.1.0.0',
|
||||
'category': 'Point of Sale',
|
||||
'summary': 'All aspects of POS on a single page.',
|
||||
'description': 'A straightforward point-of-sale system that enables '
|
||||
'payment,order confirmation, and product selection all on '
|
||||
'the same page.',
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'images': ['static/description/banner.jpg'],
|
||||
'website': 'https://www.cybrosys.com',
|
||||
'depends': ['base', 'point_of_sale'],
|
||||
'assets': {
|
||||
'point_of_sale.assets': [
|
||||
'simplified_pos/static/src/js/ProductScreen.js',
|
||||
'simplified_pos/static/src/js/ConfirmationPopup.js',
|
||||
'simplified_pos/static/src/js/PrintPopup.js',
|
||||
'simplified_pos/static/src/js/ProductScreenPaymentLine.js',
|
||||
'simplified_pos/static/src/js/ProductWidgetSimple.js',
|
||||
'simplified_pos/static/src/scss/pos.scss',
|
||||
'simplified_pos/static/src/xml/ProductScreen.xml',
|
||||
'simplified_pos/static/src/xml/OrderWidget.xml',
|
||||
'simplified_pos/static/src/xml/ActionpadWidget.xml',
|
||||
'simplified_pos/static/src/xml/ConfirmationPopup.xml',
|
||||
'simplified_pos/static/src/xml/PrintPopup.xml',
|
||||
'simplified_pos/static/src/xml/PaymentScreenPaymentLine.xml',
|
||||
'simplified_pos/static/src/xml/ProductWidgetControlPanel.xml',
|
||||
'simplified_pos/static/src/xml/chrome.xml',
|
||||
]
|
||||
},
|
||||
'license': 'AGPL-3',
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
## Module <simplified_pos>
|
||||
#### 01.07.2023
|
||||
#### Version 16.0.1.0.0
|
||||
#### ADD
|
||||
|
||||
- Initial commit for Simplified POS
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 576 B |
Before Width: | Height: | Size: 733 B |
Before Width: | Height: | Size: 911 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 673 B |
Before Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 653 B |
Before Width: | Height: | Size: 905 B |
Before Width: | Height: | Size: 839 B |
Before Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 988 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 967 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 678 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 159 KiB |
Before Width: | Height: | Size: 161 KiB |
Before Width: | Height: | Size: 161 KiB |
Before Width: | Height: | Size: 177 KiB |
Before Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 15 KiB |
|
@ -1,686 +0,0 @@
|
|||
<div style="background-color: #714B67; height: 810px; width: 100%; padding: 15px; position: relative;">
|
||||
<!-- TITLE BAR -->
|
||||
<div class="d-flex align-items-center justify-content-between"
|
||||
style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;">
|
||||
<img src="assets/misc/cybrosys-logo.png" width="42" height="42"
|
||||
style="width: 42px; height: 42px;"/>
|
||||
<div>
|
||||
<div
|
||||
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
|
||||
class="mr-2">
|
||||
<i class="fa fa-check mr-1"></i>Community
|
||||
</div>
|
||||
<div
|
||||
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
|
||||
class="mr-2">
|
||||
<i class="fa fa-check mr-1"></i>Enterprise
|
||||
</div>
|
||||
<div
|
||||
style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;"
|
||||
class="mr-2">
|
||||
<i class="fa fa-check mr-1"></i>Odoo.sh
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF TITLE BAR -->
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12">
|
||||
<!-- APP HERO -->
|
||||
<h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">
|
||||
Simplified Pos</h1>
|
||||
<p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">
|
||||
All aspects of pos on
|
||||
a single page.</p>
|
||||
<!-- END OF APP HERO -->
|
||||
<img src="assets/screenshots/hero.gif" class="img-responsive"
|
||||
style="width: 100%; margin-left: auto; margin-right: auto;"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- NAVIGATION SECTION -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/compass.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Explore This
|
||||
Module</h2>
|
||||
</div>
|
||||
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;">
|
||||
<div class="col-sm-12 col-md-6 my-3">
|
||||
<a href="#overview">
|
||||
<div class="d-flex justify-content-between align-items-center"
|
||||
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
|
||||
<div>
|
||||
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span>
|
||||
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">Learn
|
||||
more about this
|
||||
module</span>
|
||||
</div>
|
||||
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 my-3">
|
||||
<a href="#features">
|
||||
<div class="d-flex justify-content-between align-items-center"
|
||||
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
|
||||
<div>
|
||||
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span>
|
||||
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
|
||||
features of this
|
||||
module</span>
|
||||
</div>
|
||||
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 my-3">
|
||||
<a href="#screenshots">
|
||||
<div class="d-flex justify-content-between align-items-center"
|
||||
style="background-color: #f5f5f5; padding: 30px; width: 100%;">
|
||||
<div>
|
||||
<span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span>
|
||||
<span style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33; display: block;">View
|
||||
screenshots for this
|
||||
module</span>
|
||||
</div>
|
||||
<img src="assets/misc/right-arrow.png" width="36" height="36"/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF NAVIGATION SECTION -->
|
||||
|
||||
<!-- OVERVIEW SECTION -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
|
||||
id="overview">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/pie-chart.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Overview
|
||||
</h2>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
|
||||
<div class="col-sm-12 py-4">
|
||||
With the help of this app, you may perform all point-of-sale tasks in a
|
||||
single frame.
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF OVERVIEW SECTION -->
|
||||
|
||||
<!-- FEATURES SECTION -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
|
||||
id="features">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/features.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Features
|
||||
</h2>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;">
|
||||
<div class="d-flex align-items-center"
|
||||
style="margin-top: 30px; margin-bottom: 30px">
|
||||
<img src="assets/misc/check-box.png" class="mr-2"/>
|
||||
<span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Choosing a product, confirming an order, and making a payment all on the same page.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF FEATURES SECTION -->
|
||||
|
||||
<!-- SCREENSHOTS SECTION -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;"
|
||||
id="screenshots">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/pictures.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Screenshots
|
||||
</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
A POS frame</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
This is the new point
|
||||
of sale frame.</p>
|
||||
<img src="assets/screenshots/s_pos_01.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Product Search</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
We can search for
|
||||
products here.</p>
|
||||
<img src="assets/screenshots/s_pos_02.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Add Products to Order
|
||||
line</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
When a product is
|
||||
clicked, it is added to the order lines and the total is
|
||||
displayed beneath it. We can adjust the amount,
|
||||
price, and discount using the number pad.</p>
|
||||
<img src="assets/screenshots/s_pos_03.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Add Payment
|
||||
Methods</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
We can select the
|
||||
necessary payment options, which can be shown beneath the
|
||||
summary.</p>
|
||||
<img src="assets/screenshots/s_pos_04.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Choose Customer</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
By pressing the search
|
||||
button, we may choose a customer.</p>
|
||||
<img src="assets/screenshots/s_pos_05.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Click</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
Click this to validate
|
||||
the order.</p>
|
||||
<img src="assets/screenshots/s_pos_06.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Click</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
Click confirm to
|
||||
confirm order else click cancel.</p>
|
||||
<img src="assets/screenshots/s_pos_07.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Click</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
Click print to print
|
||||
the order.</p>
|
||||
<img src="assets/screenshots/s_pos_08.png" class="img-thumbnail">
|
||||
</div>
|
||||
|
||||
<div style="display: block; margin: 30px auto;">
|
||||
<h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">
|
||||
Click New order</h3>
|
||||
<p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;">
|
||||
To access the new
|
||||
order, click New Order.</p>
|
||||
<img src="assets/screenshots/s_pos_09.png" class="img-thumbnail">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF SCREENSHOTS SECTION -->
|
||||
<!-- RELATED PRODUCTS -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 4
|
||||
0px;">
|
||||
<img src="assets/misc/categories.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Suggested
|
||||
Products
|
||||
</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div id="demo1" class="row carousel slide" data-ride="carousel">
|
||||
<!-- The slideshow -->
|
||||
<div class="carousel-inner" style="padding: 30px;">
|
||||
<div class="carousel-item" style="min-height: 198.656px;">
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/voice_note_in_chatter/"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/1.gif">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/whatsapp_redirect/"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/2.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/inventory_barcode_scanning/"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/3.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item active"
|
||||
style="min-height: 198.656px;">
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/product_barcode/"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/4.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/crm_dashboard/"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/5.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16"
|
||||
style="float:left">
|
||||
<a href="https://apps.odoo.com/apps/modules/16.0/base_account_budget/#"
|
||||
target="_blank">
|
||||
<div style="border-radius:10px">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-radius: 0px;"
|
||||
src="assets/modules/6.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Left and right controls -->
|
||||
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
|
||||
style="width:35px; color:#000"> <span
|
||||
class="carousel-control-prev-icon"><i
|
||||
class="fa fa-chevron-left"
|
||||
style="font-size:24px"></i></span>
|
||||
</a> <a class="carousel-control-next" href="#demo1"
|
||||
data-slide="next" style="width:35px; color:#000">
|
||||
<span class="carousel-control-next-icon"><i
|
||||
class="fa fa-chevron-right"
|
||||
style="font-size:24px"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF RELATED PRODUCTS -->
|
||||
|
||||
|
||||
<!-- OUR SERVICES -->
|
||||
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/star.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Our Services
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="container my-5">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/cogs.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Customization</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/wrench.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Implementation</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/lifebuoy.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Support</h6>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/user.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Hire
|
||||
Odoo
|
||||
Developer</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/puzzle.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Integration</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/update.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Migration</h6>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/consultation.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Consultancy</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/training.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Implementation</h6>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
|
||||
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
|
||||
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
|
||||
<img src="assets/icons/license.png" class="img-responsive"
|
||||
height="48px" width="48px">
|
||||
</div>
|
||||
<h6 class="text-center"
|
||||
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
|
||||
Odoo
|
||||
Licensing Consultancy</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END OF END OF OUR SERVICES -->
|
||||
|
||||
<!-- OUR INDUSTRIES -->
|
||||
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/corporate.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Our
|
||||
Industries
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="container my-5">
|
||||
<div class="row">
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/trading-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Trading
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Easily procure
|
||||
and
|
||||
sell your products</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/pos-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
POS
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Easy
|
||||
configuration
|
||||
and convivial experience</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/education-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Education
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
A platform for
|
||||
educational management</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/manufacturing-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Manufacturing
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Plan, track and
|
||||
schedule your operations</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/ecom-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
E-commerce & Website
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Mobile
|
||||
friendly,
|
||||
awe-inspiring product pages</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/service-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Service Management
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Keep track of
|
||||
services and invoice</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/restaurant-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Restaurant
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
Run your bar or
|
||||
restaurant methodically</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="my-4 d-flex flex-column justify-content-center"
|
||||
style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;">
|
||||
<img src="assets/icons/hotel-black.png"
|
||||
class="img-responsive mb-3" height="48px" width="48px">
|
||||
<h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
|
||||
Hotel Management
|
||||
</h5>
|
||||
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
|
||||
An
|
||||
all-inclusive
|
||||
hotel management application</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- END OF END OF OUR INDUSTRIES -->
|
||||
|
||||
<!-- SUPPORT -->
|
||||
<div class="d-flex align-items-center"
|
||||
style="border-bottom: 2px solid #714B67; padding: 15px 0px;">
|
||||
<div class="d-flex justify-content-center align-items-center mr-2"
|
||||
style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;">
|
||||
<img src="assets/misc/customer-support.png"/>
|
||||
</div>
|
||||
<h2 class="mt-2"
|
||||
style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">
|
||||
Support
|
||||
</h2>
|
||||
</div>
|
||||
<div class="container mt-5">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
|
||||
<div class="mr-4 d-flex justify-content-center align-items-center"
|
||||
style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
|
||||
<img src="assets/misc/support.png" height="48" width="48"
|
||||
style="width: 42px; height: 42px;"/>
|
||||
</div>
|
||||
<div>
|
||||
<h4>Need Help?</h4>
|
||||
<p style="line-height: 100%;">Got questions or need help?
|
||||
Get in touch.</p>
|
||||
<a href="mailto:odoo@cybrosys.com">
|
||||
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
|
||||
odoo@cybrosys.com</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6">
|
||||
<div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;">
|
||||
<div class="mr-4 d-flex justify-content-center align-items-center"
|
||||
style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;">
|
||||
<img src="assets/misc/whatsapp.png" height="52" width="52"
|
||||
style="width: 52px; height: 52px;"/>
|
||||
</div>
|
||||
<div>
|
||||
<h4>WhatsApp</h4>
|
||||
<p style="line-height: 100%;">Say hi to us on WhatsApp!</p>
|
||||
<a href="https://api.whatsapp.com/send?phone=918606827707">
|
||||
<p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;">
|
||||
+91 86068
|
||||
27707</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12 my-5 d-flex justify-content-center align-items-center">
|
||||
<img src="assets/misc/logo.png" width="144" height="31"
|
||||
style="width:144px; height: 31px; margin-top: 40px;"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END OF SUPPORT -->
|
|
@ -1,44 +0,0 @@
|
|||
odoo.define('point_of_sale.ConfirmationPopup', function (require) {
|
||||
'use strict';
|
||||
const { _lt } = require('@web/core/l10n/translation');
|
||||
const PaymentScreen = require('point_of_sale.PaymentScreen');
|
||||
const Registries = require('point_of_sale.Registries');
|
||||
const { useBus } = require('@web/core/utils/hooks');
|
||||
|
||||
class ConfirmationPopup extends PaymentScreen {
|
||||
/*This is to add the workings inside confirmationPopup.*/
|
||||
setup() {
|
||||
super.setup();
|
||||
if (this.props.confirmKey) {
|
||||
useBus(this.env.posbus, `confirm-popup-${this.props.id}`, this.confirm);
|
||||
}
|
||||
}
|
||||
async confirm(ev) {
|
||||
/*Once confirm is clicked, the confirm function is activated,
|
||||
and a PrintPopup is displayed, confirming the order.*/
|
||||
this.showPopup("PrintPopup", {
|
||||
title: _lt('Print order'),
|
||||
confirmText: _lt('Print'),
|
||||
cancelText: this.env._t('Cancel'),
|
||||
});
|
||||
this.validateOrder(false)
|
||||
this.env.posbus.trigger('close-popup', {
|
||||
popupId: this.props.id,
|
||||
response: { confirmed: true, payload: await this.getPayload() },
|
||||
});
|
||||
}
|
||||
async getPayload() {
|
||||
return null;
|
||||
}
|
||||
async cancel(ev) {
|
||||
/*Orders are cancelled through the cancel function.*/
|
||||
window.location.reload();
|
||||
}
|
||||
get nextScreen() {
|
||||
return !this.error ? 'ProductScreen' : 'ProductScreen';
|
||||
}
|
||||
}
|
||||
ConfirmationPopup.template = 'ConfirmationPopup';
|
||||
Registries.Component.add(ConfirmationPopup);
|
||||
return ConfirmationPopup;
|
||||
});
|
|
@ -1,51 +0,0 @@
|
|||
odoo.define('point_of_sale.PrintPopup', function (require) {
|
||||
'use strict';
|
||||
|
||||
const AbstractAwaitablePopup = require('point_of_sale.AbstractAwaitablePopup');
|
||||
const Registries = require('point_of_sale.Registries');
|
||||
|
||||
class PrintPopup extends AbstractAwaitablePopup {
|
||||
setup() {
|
||||
super.setup();
|
||||
}
|
||||
async printReceipt() {
|
||||
/*create a new window to hold the content to be printed*/
|
||||
var printWindow = window.open('', 'PrintWindow', 'height=600,width=400');
|
||||
/* get the HTML content of the popup, excluding the buttons*/
|
||||
var content = this.el.innerHTML;
|
||||
content = content.replace(/<footer[^>]*>[\s\S]*<\/footer>/gi, '');
|
||||
content = content.replace(/<header[^>]*>[\s\S]*<\/header>/gi, '');
|
||||
/* set the content of the new window to the modified HTML*/
|
||||
printWindow.document.write(content);
|
||||
/* print the content and close the window*/
|
||||
printWindow.print();
|
||||
window.location.reload();
|
||||
}
|
||||
async cancel() {
|
||||
/*Orders are cancelled through the cancel function.*/
|
||||
window.location.reload();
|
||||
}
|
||||
get orderlines() {
|
||||
/*Selected order lines are passed to UI.*/
|
||||
var orderlines = this.env.pos.selectedOrder.orderlines
|
||||
var orderlinesList = []
|
||||
orderlines.forEach(function (orderlines) {
|
||||
var totalprice = orderlines.price * orderlines.quantity
|
||||
orderlinesList.push([orderlines.product.display_name, orderlines.quantity, orderlines.price, totalprice])
|
||||
})
|
||||
return orderlinesList;
|
||||
}
|
||||
get total() {
|
||||
/*Total is calculated and passed*/
|
||||
var total = 0
|
||||
var totalvalues = this.env.pos.selectedOrder.paymentlines
|
||||
totalvalues.forEach(function (totalvalues) {
|
||||
total = total + totalvalues.amount
|
||||
})
|
||||
return total;
|
||||
}
|
||||
}
|
||||
PrintPopup.template = 'PrintPopup';
|
||||
Registries.Component.add(PrintPopup);
|
||||
return PrintPopup;
|
||||
});
|
|
@ -1,87 +0,0 @@
|
|||
odoo.define('point_of_sale.customer', function (require) {
|
||||
const ProductScreen = require('point_of_sale.ProductScreen');
|
||||
const { useListener } = require("@web/core/utils/hooks");
|
||||
const Registries = require('point_of_sale.Registries');
|
||||
const { _lt } = require('@web/core/l10n/translation');
|
||||
const CustomerButtons = (ProductScreen) =>
|
||||
class extends ProductScreen {
|
||||
/*Here, the ProductScreen has been extended, and some features have been overridden.*/
|
||||
setup() {
|
||||
super.setup();
|
||||
useListener('new-payment-line', this.newPaymentLine);
|
||||
useListener('confirm-order', this.confirmOrder);
|
||||
useListener('select-line', this._selectLine);
|
||||
}
|
||||
customerdetails() {
|
||||
this.onClickPartner();
|
||||
}
|
||||
confirmOrder() {
|
||||
/* When performing validation, this function checks the
|
||||
requirements and displays an error message if any are reduced.*/
|
||||
var paymentline = this.currentOrder.paymentlines.length
|
||||
var partner = this.currentOrder.partner
|
||||
var orderlines = this.currentOrder.orderlines.length
|
||||
if (orderlines == 0) {
|
||||
this.showPopup('ErrorPopup', {
|
||||
title: this.env._t('Error'),
|
||||
body: this.env._t('Cart is empty.'),
|
||||
});
|
||||
}
|
||||
else if (partner == null) {
|
||||
this.showPopup('ErrorPopup', {
|
||||
title: this.env._t('Error'),
|
||||
body: this.env._t('Select a Customer.'),
|
||||
});
|
||||
}
|
||||
else if (paymentline == 0) {
|
||||
this.showPopup('ErrorPopup', {
|
||||
title: this.env._t('Error'),
|
||||
body: this.env._t('Select a Payment Method'),
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.showPopup("ConfirmationPopup", {
|
||||
title: _lt('Confirmation'),
|
||||
confirmText: _lt('Confirm'),
|
||||
cancelText: this.env._t('Cancel'),
|
||||
});
|
||||
}
|
||||
}
|
||||
orderDone() {
|
||||
this.env.pos.removeOrder(this.currentOrder);
|
||||
this.env.pos.add_new_order();
|
||||
const { name, props } = this.nextScreen;
|
||||
this.showScreen(name, props);
|
||||
if (this.env.pos.config.iface_customer_facing_display) {
|
||||
this.env.pos.send_current_order_to_customer_facing_display();
|
||||
}
|
||||
}
|
||||
newPaymentLine({ detail: paymentMethod }) {
|
||||
let result = this.currentOrder.add_paymentline(paymentMethod);
|
||||
if (result) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
get paymentLines() {
|
||||
return this.env.pos.get_order().get_paymentlines();
|
||||
}
|
||||
get_partner() {
|
||||
return this.partner;
|
||||
}
|
||||
set_partner(partner) {
|
||||
this.partner = this.env.pos.selectedPartner[4];
|
||||
}
|
||||
get nextScreen() {
|
||||
return { name: 'ProductScreen' };
|
||||
}
|
||||
_selectLine(event) {
|
||||
this.env.pos.selectedOrder.select_orderline(event.detail.orderline);
|
||||
}
|
||||
|
||||
}
|
||||
Registries.Component.extend(ProductScreen, CustomerButtons);
|
||||
return CustomerButtons;
|
||||
});
|
|
@ -1,35 +0,0 @@
|
|||
odoo.define('point_of_sale.ProductScreenPaymentLine', function (require) {
|
||||
'use strict';
|
||||
const PaymentScreenPaymentLines = require('point_of_sale.PaymentScreenPaymentLines');
|
||||
const Registries = require('point_of_sale.Registries');
|
||||
const NumberBuffer = require('point_of_sale.NumberBuffer');
|
||||
const { useListener } = require("@web/core/utils/hooks");
|
||||
const ProductScreenPaymentLine = (PaymentScreenPaymentLines) =>
|
||||
class extends PaymentScreenPaymentLines {
|
||||
/*Here PaymentScreenPaymentLines is extended.*/
|
||||
setup() {
|
||||
super.setup();
|
||||
useListener('delete-payment', this.deletePayment);
|
||||
useListener('select-payment-line', this.selectPaymentLine);
|
||||
}
|
||||
selectPaymentLine(event) {
|
||||
/*This helps to select payment line in summary.*/
|
||||
const { cid } = event.detail;
|
||||
const line = this.env.pos.selectedOrder.paymentlines.find((line) => line.cid === cid);
|
||||
this.env.pos.selectedOrder.select_paymentline(line);
|
||||
NumberBuffer.reset();
|
||||
this.render(true);
|
||||
}
|
||||
deletePayment(event) {
|
||||
/*This is to delete payment lines from summary.*/
|
||||
const { cid } = event.detail;
|
||||
const paymentline = this.env.pos.selectedOrder.paymentlines.find((line) => line.cid === cid);
|
||||
if (paymentline) {
|
||||
this.env.pos.selectedOrder.remove_paymentline(paymentline);
|
||||
this.render(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
Registries.Component.extend(PaymentScreenPaymentLines, ProductScreenPaymentLine);
|
||||
return ProductScreenPaymentLine;
|
||||
});
|
|
@ -1,24 +0,0 @@
|
|||
odoo.define('point_of_sale.ProductsWidgetSimple', function (require) {
|
||||
'use strict';
|
||||
const Registries = require('point_of_sale.Registries');
|
||||
const ProductsWidget = require('point_of_sale.ProductsWidget');
|
||||
const ProductsWidgetSimple = (ProductsWidget) =>
|
||||
class extends ProductsWidget {
|
||||
setup() {
|
||||
super.setup();
|
||||
}
|
||||
get productsToDisplay() {
|
||||
/* This function is override to remove products showing before hand.*/
|
||||
let list = [];
|
||||
if (this.searchWord !== '') {
|
||||
list = this.env.pos.db.search_product_in_category(
|
||||
this.selectedCategoryId,
|
||||
this.searchWord
|
||||
);
|
||||
}
|
||||
return list.sort(function (a, b) { return a.display_name.localeCompare(b.display_name) });
|
||||
}
|
||||
};
|
||||
Registries.Component.extend(ProductsWidget, ProductsWidgetSimple);
|
||||
return ProductsWidgetSimple;
|
||||
});
|
|
@ -1,209 +0,0 @@
|
|||
.pos .leftpane {
|
||||
background: $gray-200;
|
||||
float:left;
|
||||
height: 98%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
width:30%;
|
||||
border: solid 5px teal;;
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.pos .subwindow .subwindow-container-fix {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow-y: scroll;;
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.pos .products-widget {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
height:100%;
|
||||
overflow: hidden;;
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.pos .order .orderlines {
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.pos-topheader {
|
||||
background: teal !important;
|
||||
}
|
||||
.payment-status-container {
|
||||
margin-top: 70px !important;
|
||||
}
|
||||
.paymentlines-container {
|
||||
height: 29% !important;
|
||||
}
|
||||
.nextorder{
|
||||
margin-bottom:8px !important;
|
||||
width:29% !important;
|
||||
}
|
||||
.pos .product-list-container .product-list-empty p {
|
||||
margin: 10px;
|
||||
text-align: center;
|
||||
color: teal;
|
||||
font-size: 14px;
|
||||
}
|
||||
.pos .button.validation .pay-circle {
|
||||
background: white;
|
||||
color: teal;
|
||||
}
|
||||
.pos .numpad {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
text-align: center;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
min-width: 216px;
|
||||
}
|
||||
.pos .numpad button {
|
||||
border-color:teal;
|
||||
color:teal;
|
||||
border-top: 1px solid;
|
||||
border-bottom: 0px;
|
||||
}
|
||||
.pos .mode-button.selected-mode {
|
||||
color: teal;
|
||||
background: white;
|
||||
border-color: teal;
|
||||
}
|
||||
.pos .actionpad {
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
border: none;
|
||||
border-right: 1px solid $gray-300;
|
||||
flex-grow: 1;
|
||||
width: 50%;
|
||||
}
|
||||
.pos .right{
|
||||
float:right;
|
||||
background:white;
|
||||
width:30%;
|
||||
height: 98.9%;
|
||||
border: solid 5px teal;
|
||||
box-sizing: border-box;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.pos .customer-button{
|
||||
width: 65%;
|
||||
margin-bottom: 110px;
|
||||
border: 2px solid teal !important;
|
||||
color: teal !important;
|
||||
}
|
||||
.pos .head{
|
||||
color: #017e84;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.pos .center{
|
||||
background:white;
|
||||
height: 100%;
|
||||
}
|
||||
.pos ._o_customer{
|
||||
text-align: justify;
|
||||
margin-left: 30px;
|
||||
margin-right: 30px;
|
||||
}
|
||||
.pos .paymentlines-container {
|
||||
padding: 16px;
|
||||
padding-top: 0;
|
||||
border: solid 5px teal;
|
||||
min-height: 154px;
|
||||
text-align:center;
|
||||
padding: 50px 30px 0px 18px;
|
||||
font-size: 30px;
|
||||
color: #43996E;
|
||||
}
|
||||
.pos p.title-category {
|
||||
margin: 0;
|
||||
padding: map-get($spacers, 1) map-get($spacers, 3);
|
||||
background: $gray-300;
|
||||
color: teal;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
order: 1;
|
||||
}
|
||||
.pos .payment-status-total-due {
|
||||
font-size: 17px;
|
||||
padding-top: 12px;
|
||||
padding-bottom: 12px;
|
||||
color: $gray-500;
|
||||
padding-left: 100px;
|
||||
}
|
||||
.pos .payment-status-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 25px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
.pos .button.validation {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
height: calc(var(--btn-height-size) * 2.3);
|
||||
border: none;
|
||||
background: $primary;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
transition: all 150ms linear;
|
||||
}
|
||||
.pos .amount-paymentmethod{
|
||||
padding-left: 40%;
|
||||
}
|
||||
.pos .delete-button {
|
||||
padding-left: 30%;
|
||||
}
|
||||
.pos .form-container{
|
||||
max-width: 450px;
|
||||
padding: 30px;
|
||||
background-color: white;
|
||||
}
|
||||
.pos .orderlinesactionpad-receipt{
|
||||
font-size : 15px;
|
||||
text-align:left;
|
||||
margin-left:35px;
|
||||
}
|
||||
.pos .button.validation{
|
||||
background:#39B8B8 !important;
|
||||
margin-bottom: 13px !important;
|
||||
}
|
||||
.highlight {
|
||||
width: 29.45% !important;
|
||||
}
|
||||
.next {
|
||||
border-bottom: solid 5px teal !important;
|
||||
}
|
||||
.paymentmethods-container {
|
||||
overflow: scroll;
|
||||
height: 49.125%;
|
||||
&::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.pos .nextorder {
|
||||
position: absolute;
|
||||
width: 28.3%;
|
||||
bottom: 0;
|
||||
}
|
||||
.pos .search-bar-container.sb-product {
|
||||
max-width: 100%;
|
||||
width:100%;
|
||||
-webkit-box-pack: start;
|
||||
justify-content: flex-start;
|
||||
height: 100%;
|
||||
min-height: 48px;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit ActionpadWidget to Modify it -->
|
||||
<t t-name="ActionpadWidget" t-inherit="point_of_sale.ActionpadWidget"
|
||||
t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('actionpad')]" position="replace">
|
||||
<button class="button set-partner"
|
||||
t-att-class="{'decentered': isLongName}"
|
||||
t-on-click="() => this.trigger('click-partner')"
|
||||
style="top: 0px;width:50%; height: 100%;background: white;flex-grow: 1;">
|
||||
<t t-if="!env.isMobile"><i class="fa fa-user" role="img" aria-label="Customer" title="Customer" /></t>
|
||||
<t t-if="props.partner">
|
||||
<t t-esc="props.partner.name"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
Customer
|
||||
</t>
|
||||
</button>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- A template ConfirmationPopup is created for the confirmation popup -->
|
||||
<t t-name="ConfirmationPopup" owl="1">
|
||||
<div class="popup popup-selection">
|
||||
<header class="title drag-handle">
|
||||
<t t-esc="props.title"/>
|
||||
</header>
|
||||
<footer class="footer">
|
||||
<div class="button cancel" t-on-click="cancel">
|
||||
<t t-esc="props.cancelText"/>
|
||||
</div>
|
||||
<div class="button confirm" t-on-click="confirm">
|
||||
<t t-esc="props.confirmText"/>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit OrderWidget to Modify it -->
|
||||
<t t-name="OrderWidget" t-inherit="point_of_sale.OrderWidget"
|
||||
t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('order-container')]" position="before">
|
||||
<ProductsWidget
|
||||
mobileSearchBarIsShown="props.mobileSearchBarIsShown"/>
|
||||
<MobileOrderWidget t-if="env.isMobile" pane="state.mobile_pane"
|
||||
onSwitchPane.bind="switchPane"/>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit PaymentScreenPaymentLines to Modify it -->
|
||||
<t t-inherit="point_of_sale.PaymentScreenPaymentLines"
|
||||
t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('delete-button')]" position="replace">
|
||||
<div class="delete-button"
|
||||
t-on-click="() => this.trigger('delete-payment', { cid: line.cid })"
|
||||
aria-label="Delete" title="Delete">
|
||||
<i class="fa fa-times-circle"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,89 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- A template is created for the print popup -->
|
||||
<t t-name="PrintPopup" owl="1">
|
||||
<div class="popup popup-selection">
|
||||
<header class="title drag-handle">
|
||||
<t t-esc="props.title"/>
|
||||
</header>
|
||||
<div class="form-container">
|
||||
<t t-if="this.env.pos.company_logo_base64">
|
||||
<img class="pos-receipt-logo"
|
||||
t-att-src="this.env.pos.company_logo_base64"
|
||||
alt="Logo"/>
|
||||
<br/>
|
||||
</t>
|
||||
<t t-if="!this.env.pos.company_logo_base64">
|
||||
<h2 class="pos-receipt-center-align">
|
||||
<t t-esc="this.env.pos.company.name"/>
|
||||
</h2>
|
||||
<br/>
|
||||
</t>
|
||||
<div class="pos-receipt-contact">
|
||||
<t t-if="this.env.pos.company.name">
|
||||
<div><t t-esc="this.env.pos.company.name" /></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.company.phone">
|
||||
<div>Tel:<t t-esc="this.env.pos.company.phone"/></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.company.vat">
|
||||
<div><t t-esc="this.env.pos.company.vat_label"/>:
|
||||
<t t-esc="this.env.pos.company.vat"/></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.company.email">
|
||||
<div><t t-esc="this.env.pos.company.email" /></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.company.website">
|
||||
<div><t t-esc="this.env.pos.company.website" /></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.header_html">
|
||||
<t t-out="this.env.pos.header_html"/>
|
||||
</t>
|
||||
<t t-if="!this.env.pos.header_html and this.env.pos.header">
|
||||
<div style="white-space:pre-line"><t t-esc="this.env.pos.header" /></div>
|
||||
</t>
|
||||
<t t-if="this.env.pos.selectedOrder.cashier">
|
||||
<div class="cashier">
|
||||
<div>--------------------------------</div>
|
||||
<div>Served by <t
|
||||
t-esc="this.env.pos.selectedOrder.cashier.name"/></div>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
<!-- Orderlines -->
|
||||
<div class="orderlines-receipt">
|
||||
<t t-foreach="orderlines" t-as="line" t-key="line[0]">
|
||||
<t t-esc="line[0]"/>
|
||||
<span style="float: right;margin-right:20px;"><t t-esc="line[3]"/></span>
|
||||
<br/>
|
||||
<span>(</span>
|
||||
<t t-esc="line[1]"/>x
|
||||
<t t-esc="line[2]"/>
|
||||
<span>)</span>
|
||||
<br/>
|
||||
</t>
|
||||
</div>
|
||||
<!--Total -->
|
||||
<div class="pos-receipt-right-align">----------</div>
|
||||
<br/>
|
||||
<div class="pos-receipt-amount" style="margin-left:40px;">
|
||||
TOTAL
|
||||
<span t-esc="total" class="pos-receipt-right-align"
|
||||
style="float: right;"/>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
</div>
|
||||
<footer class="footer">
|
||||
<div class="button confirm" t-on-click="cancel">
|
||||
<t t-esc="props.cancelText"/>
|
||||
</div>
|
||||
<div class="button confirm" t-on-click="printReceipt">
|
||||
<t t-esc="props.confirmText"/>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,80 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit ProductScreen to Modify it -->
|
||||
<t t-name="ProductScreen" t-inherit="point_of_sale.ProductScreen"
|
||||
t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('product-screen')]" position="replace">
|
||||
<div class="leftpane pane-border">
|
||||
<OrderWidget/>
|
||||
<NumpadWidget activeMode="env.pos.numpadMode"/>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="head"><center><h2>CUSTOMER</h2></center></div>
|
||||
<br/>
|
||||
<br/>
|
||||
<t t-call="CustomerDetails"/>
|
||||
<br/>
|
||||
<br/>
|
||||
<center>
|
||||
<button class="customer-button"
|
||||
t-on-click="customerdetails">
|
||||
<i class="fa fa-search"/>
|
||||
</button>
|
||||
</center>
|
||||
<div class="button nextorder validation"
|
||||
t-att-class="{ highlight: !locked }"
|
||||
t-on-click="orderDone" style="background:#39B8B8;">
|
||||
<div class="pay-circle">
|
||||
<i class="fa fa-chevron-right" role="img"
|
||||
aria-label="Pay" title="Pay"/>
|
||||
</div>
|
||||
New Order
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
<section class="paymentlines-container">
|
||||
<PaymentScreenStatus order="currentOrder"/>
|
||||
</section>
|
||||
<div class="paymentmethods-container">
|
||||
<div class="paymentmethods">
|
||||
<p class="title-category">Payment method</p>
|
||||
<t t-foreach="this.env.pos.payment_methods"
|
||||
t-as="paymentMethod"
|
||||
t-key="paymentMethod.id">
|
||||
<div class="button paymentmethod"
|
||||
t-on-click="() => this.trigger('new-payment-line', paymentMethod)">
|
||||
<div class="payment-name">
|
||||
<t t-esc="paymentMethod.name"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
<PaymentScreenPaymentLines
|
||||
paymentLines="paymentLines"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="button next validation"
|
||||
t-on-click="() => this.trigger('confirm-order')">
|
||||
<div class="pay-circle">
|
||||
<i class="fa fa-chevron-right" role="img"
|
||||
aria-label="Pay" title="Pay"/>
|
||||
</div>
|
||||
<span class="next_text">Validate</span>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</t>
|
||||
<t t-name="CustomerDetails" owl="1">
|
||||
<div class="_o_customer">
|
||||
<t t-if="this.get_partner()">
|
||||
<h4>Name:</h4>
|
||||
<t t-esc="this.get_partner().name"/>
|
||||
<h4>Address:</h4>
|
||||
<t t-esc="this.get_partner().address"/>
|
||||
<h4>Email:</h4>
|
||||
<t t-esc="this.get_partner().email"/>
|
||||
<h4>Phone:</h4>
|
||||
<t t-esc="this.get_partner().phone"/>
|
||||
</t>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit ProductsWidgetControlPanel to Modify it -->
|
||||
<t t-inherit="point_of_sale.ProductsWidgetControlPanel"
|
||||
t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('rightpane-header')]" position="replace">
|
||||
<div class="rightpane-header">
|
||||
<div class="search-bar-container sb-product">
|
||||
<span t-if="env.isMobile" class="oe_status oe_icon icon"
|
||||
t-on-click="_toggleMobileSearchbar">
|
||||
<i t-attf-class="fa {{props.mobileSearchBarIsShown ? 'fa-arrow-left' : 'fa-search'}}"/>
|
||||
</span>
|
||||
<t t-if="!env.isMobile || props.mobileSearchBarIsShown">
|
||||
<div class="pos-search-bar">
|
||||
<i class="fa fa-search"/>
|
||||
<input t-ref="search-word-input-product"
|
||||
placeholder="Search Products..." type="text"
|
||||
autofocus="autofocus"
|
||||
t-on-keyup="updateSearch"/>
|
||||
<i class="fa fa-times search-clear-partner"
|
||||
t-on-click="_clearSearch"/>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<!-- Inherit point_of_sale.Chrome to Modify it -->
|
||||
<t t-name="Chrome" t-inherit="point_of_sale.Chrome" t-inherit-mode="extension" owl="1">
|
||||
<xpath expr="//div[hasclass('pos-branding')]" position="replace">
|
||||
<div class="pos-branding">
|
||||
<img t-if="!env.isMobile" class="pos-logo" t-on-click="() => this.trigger('toggle-debug-widget')"
|
||||
src="/point_of_sale/static/src/img/logo.png" alt="Logo"/>
|
||||
<CashMoveButton t-if="showCashMoveButton()"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</t>
|
||||
</templates>
|