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>
|
|