@ -0,0 +1,16 @@ |
|||
POS Product Multi Barcode |
|||
========================= |
|||
Allows to create multiple barcode for a single product. |
|||
|
|||
Installation |
|||
============ |
|||
- www.odoo.com/documentation/13.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
Configuration |
|||
============= |
|||
No additional configurations needed |
|||
|
|||
Credits |
|||
======= |
|||
Developer: Risha C.T @ cybrosys, odoo@cybrosys.com |
@ -0,0 +1,24 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Risha C.T (<https://www.cybrosys.com>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# 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 for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from . import models |
@ -0,0 +1,44 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Risha C.T (<https://www.cybrosys.com>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# 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 for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
{ |
|||
'name': 'POS Product Multi Barcode', |
|||
'summary': """Allows to create multiple barcode for a single product""", |
|||
'description': """Allows to create multiple barcode for a single product""", |
|||
'version': '13.0.1.0.0', |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': 'https://www.cybrosys.com/', |
|||
'category': 'Point of Sale', |
|||
'depends': ['product', 'point_of_sale'], |
|||
'license': 'AGPL-3', |
|||
'data': [ |
|||
'security/ir.model.access.csv', |
|||
'views/product_views.xml', |
|||
'views/pos_template.xml', |
|||
], |
|||
'images': ['static/description/banner.png'], |
|||
'installable': True, |
|||
'auto_install': False, |
|||
} |
@ -0,0 +1,6 @@ |
|||
## Module <multi_barcodes_pos> |
|||
|
|||
#### 27.03.2020 |
|||
#### Version 13.0.1.0.0 |
|||
##### ADD |
|||
- Initial commit for POS Multi Barcode Scan |
@ -0,0 +1,24 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Risha C.T (<https://www.cybrosys.com>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# 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 for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from . import product_product |
@ -0,0 +1,91 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Risha C.T (<https://www.cybrosys.com>) |
|||
# |
|||
# This program is free software: you can modify |
|||
# it under the terms of the GNU Affero General Public License (AGPL) as |
|||
# published by the Free Software Foundation, either version 3 of the |
|||
# License, or (at your option) any later version. |
|||
# |
|||
# 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 for more details. |
|||
# |
|||
# You should have received a copy of the GNU Affero General Public License |
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>. |
|||
# |
|||
################################################################################### |
|||
|
|||
from odoo import models, fields, api |
|||
from odoo.osv import expression |
|||
|
|||
|
|||
class ProductProduct(models.Model): |
|||
_inherit = 'product.product' |
|||
|
|||
product_multi_barcodes = fields.One2many('multi.barcode.products', 'product_multi', string='Barcodes') |
|||
|
|||
@api.model |
|||
def create(self, vals): |
|||
res = super(ProductProduct, self).create(vals) |
|||
res.product_multi_barcodes.update({ |
|||
'template_multi': res.product_tmpl_id.id |
|||
}) |
|||
return res |
|||
|
|||
def write(self, vals): |
|||
res = super(ProductProduct, self).write(vals) |
|||
self.product_multi_barcodes.update({ |
|||
'template_multi': self.product_tmpl_id.id |
|||
}) |
|||
return res |
|||
|
|||
@api.model |
|||
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None): |
|||
args = args or [] |
|||
print("666666666666666") |
|||
domain = [] |
|||
if name: |
|||
domain = ['|', '|', ('name', operator, name), ('default_code', operator, name), |
|||
'|', ('barcode', operator, name), ('product_multi_barcodes', operator, name)] |
|||
product_id = self._search(expression.AND([domain, args]), limit=limit, access_rights_uid=name_get_uid) |
|||
return self.browse(product_id).name_get() |
|||
|
|||
|
|||
class ProductTemplate(models.Model): |
|||
_inherit = 'product.template' |
|||
|
|||
template_multi_barcodes = fields.One2many('multi.barcode.products', 'template_multi', string='Barcodes') |
|||
|
|||
@api.model |
|||
def create(self, vals): |
|||
res = super(ProductTemplate, self).create(vals) |
|||
res.template_multi_barcodes.update({ |
|||
'product_multi': res.product_variant_id.id |
|||
}) |
|||
return res |
|||
|
|||
def write(self, vals): |
|||
res = super(ProductTemplate, self).write(vals) |
|||
if self.template_multi_barcodes: |
|||
self.template_multi_barcodes.update({ |
|||
'product_multi': self.product_variant_id.id |
|||
}) |
|||
return res |
|||
|
|||
|
|||
class ProductMultiBarcode(models.Model): |
|||
_name = 'multi.barcode.products' |
|||
|
|||
multi_barcode = fields.Char(string="Barcode", help="Provide alternate barcodes for this product") |
|||
product_multi = fields.Many2one('product.product') |
|||
template_multi = fields.Many2one('product.template') |
|||
|
|||
def get_barcode_val(self, product): |
|||
# returns barcode of record in self and product id |
|||
return self.multi_barcode, product |
|
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 138 KiB |
After Width: | Height: | Size: 101 KiB |
@ -0,0 +1,503 @@ |
|||
<div class="row" |
|||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;"> |
|||
<a href="https://www.cybrosys.com/" target="_blank"><img src="images/cybrosys.png" |
|||
style=" width: 293px; padding: 1rem 0rem; margin: auto" |
|||
alt="cybrosys-logo"></a></div> |
|||
<div class="row" |
|||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;"> |
|||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px"> |
|||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;"> |
|||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">POS Product Multi Barcode</h1> |
|||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;">Allow to scan multiple barcodes of a product in POS.</h3> |
|||
</div> |
|||
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2> |
|||
<ul style=" padding: 0 1px; list-style: none; "> |
|||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Create multiple barcode for a single product |
|||
</li> |
|||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Scan the multiple barcode in POS for single product. |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/multi_barcode_pos_1.png" class="img-responsive" alt=""></div> |
|||
</div> |
|||
<div> |
|||
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;"> |
|||
<div class="row py-4 px-3"> |
|||
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;"> |
|||
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab" |
|||
style="border: none;background: unset;"> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" |
|||
aria-controls="pills-home" aria-selected="true" class="nav-link active show" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400;text-align: center; |
|||
color: #fff;">Overview </a></li> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home1" role="tab" |
|||
aria-controls="pills-home" aria-selected="true" class="nav-link " style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">Features </a></li> |
|||
<li class="nav-item mr-1 mb-3" |
|||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> |
|||
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" |
|||
aria-controls="pills-profile" aria-selected="false" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">Screenshots </a></li> |
|||
<!-- <li class="nav-item mr-1 mb-3" style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #d31c22;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;"> <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-video" role="tab" aria-controls="pills-profile" aria-selected="false" style="color: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;--> |
|||
<!-- color: #fff;">Video </a> </li>--> |
|||
</ul> |
|||
<div class="tab-content" id="pills-tabContent" |
|||
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;"> |
|||
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby=" |
|||
pills-home-tab"> |
|||
<!-- Overview--> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<h3 class="oe_slogan" |
|||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;"> |
|||
Odoo allows having a single barcode for products. This module allows you to set |
|||
multiple barcodes for a product and product variants and use these barcodes for |
|||
scanning the product in pos. |
|||
</h3> |
|||
</div> |
|||
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby=" |
|||
pills-home-tab"> |
|||
<!-- feature tab--> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">POS Product Multi Barcodes</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<ul> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Set multiple barcodes for a single product. |
|||
</li> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Scan using these barcodes in pos. |
|||
</li> |
|||
<li class="mb8" |
|||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;"> |
|||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Allows using default barcode option also. |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<!-- Screenshot tab--> |
|||
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel" |
|||
aria-labelledby="pills-profile-tab"> |
|||
<div class="tab-pane"> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div> |
|||
<section class="oe_container"> |
|||
<div id="demo" class="row carousel slide mb32" data-ride="carousel"> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item active" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;"> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check">For |
|||
setting multiple barcodes for products, go to |
|||
<strong>Point of sale --> Products --> Product Variants |
|||
</strong>and select <strong>Barcodes</strong> Tab.</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/multi_barcode_pos_1.png"></div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;"> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Now set multiple barcodes and go to Dashboard and open a pos to scan barcode using barcode scanner. |
|||
</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/multi_barcode_pos_2.png"></div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16" |
|||
style="float: left;"> |
|||
<h3 class="mb32 alert" |
|||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px; "> |
|||
<img src="images/checked.png" |
|||
style=" width: 22px; margin-right: 6px; " alt="check"> |
|||
Scan the barcode using the barcode scanner and you can see the product gets added in ordeline. If there is only single product Variant, you can see the multiple |
|||
barcodes set for product in <strong>Point of sale -- > Products --> Products</strong></h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/multi_barcode_pos_3.png"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<a class="carousel-control-prev" href="#demo" data-slide="prev" |
|||
style="left:-25px;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="#demo" data-slide="next" |
|||
style="right:-25px;width: 35px;color: #000;"> <span |
|||
class="carousel-control-next-icon"><i class="fa fa-chevron-right" |
|||
style="font-size:24px"></i></span> |
|||
</a> |
|||
</div> |
|||
</section> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact" role="tabpanel" |
|||
aria-labelledby="pills-contact-tab"> |
|||
<ul class="list-unstyled"> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="oe_container" style="padding: 2rem 3rem 1rem;"> |
|||
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div id="demo1" class="row carousel slide" data-ride="carousel"> |
|||
<!-- The slideshow --> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item active" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/13.0/product_brand_sale/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_product_branding.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/13.0/product_expiry_warning/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_product_expiry.jpeg"></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/12.0/sale_purchase_previous_product_cost/" |
|||
target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_previous_rates.jpeg"></div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<div class="carousel-item" style="min-height: 0px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;"> |
|||
<a href="https://apps.odoo.com/apps/modules/13.0/customer_sequence/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_customer_sequence.jpeg"></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/12.0/barcode_scanning_sale_purchase/" |
|||
target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_barcode_scanning.jpeg"></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/12.0/amount_currency_sale/" target="_blank"> |
|||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/banner_currency_total.png"></div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Left and right controls --> |
|||
<a class="carousel-control-prev" href="#demo1" data-slide="prev" |
|||
style="left:-25px;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="right:-25px;width: 35px;color: #000;"> |
|||
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span> |
|||
</a> |
|||
</div> |
|||
</section> |
|||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px"> |
|||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; "> |
|||
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> --> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-customization.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Customization </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-implementation.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Implementation </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-integration.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Integration </a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-erp-support.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Odoo Support</a></h3> |
|||
</div> |
|||
<div class="col-md-2 col-sm-6 col-xs-12"> |
|||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a |
|||
href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/hire-odoo-developer.png" |
|||
style="width: 100%;border-radius: 100%;"/> </a></div> |
|||
<h3 class="oe_slogan" |
|||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;"> |
|||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Hire Odoo Developers</a></h3> |
|||
</a> |
|||
</div> |
|||
<!-- </div> --> |
|||
</div> |
|||
</section> |
|||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px"> |
|||
<div class="row" style="margin: 0"> |
|||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> --> |
|||
<div class="row" style="width: 100%"> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Trading </a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Easily procure and sell your products. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" |
|||
target="_blank"> <img src="https://www.cybrosys.com/images/odoo-index-industry-2.png" |
|||
alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/> |
|||
</a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;" style=" margin-bottom: 10px; "> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" |
|||
target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Manufacturing</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Plan, track and schedule your operations. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
Restaurant</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Run your bar or restaurant methodical. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;"> |
|||
POS</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;"> |
|||
Easy configuring and convivial selling. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
E-commerce & Website</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Mobile friendly, awe-inspiring product pages. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Hotel Management</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
An all-inclusive hotel management application. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"> |
|||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Education</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
A Collaborative platform for educational management. </h3> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; "> |
|||
<div> |
|||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> <img |
|||
src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry" |
|||
style=" border-radius: 100%;width:100%;"/> </a></div> |
|||
</div> |
|||
<div style="width:70%;float:left;"> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank" |
|||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;"> |
|||
Service Management</a></h3> |
|||
<h3 class="oe_slogan" |
|||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;"> |
|||
Keep track of services and invoice accordingly. </h3> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="oe_container" style="padding: 0% 0% 6% 0%;"> |
|||
<center> |
|||
<div class="col-md-12" style="margin: auto !important; |
|||
width: 70%; |
|||
padding: 30px;"> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Need Any Help?</h2> |
|||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;"> |
|||
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please |
|||
let us know. We are ready to offer our support. </h4> |
|||
<div class="col-md-6" style="float:left; padding:20px;"> |
|||
<h4><i class="fa fa-envelope"></i>Email us </h4> |
|||
<p>odoo@cybrosys.com / info@cybrosys.com</p> |
|||
</div> |
|||
<div class="col-md-6" style="float:left; padding:20px;"> |
|||
<h4><i class="fa fa-phone"></i> Contact Us </h4> |
|||
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com</a> |
|||
</div> |
|||
</div> |
|||
</center> |
|||
</section> |
|||
<section class="oe_container" style="padding: 0% 0% 6% 0%;"> |
|||
<div class="oe_slogan" style="margin-bottom: 0px;"> |
|||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "> |
|||
</div> |
|||
<br> |
|||
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;" |
|||
class="center-block"> |
|||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><a href="https://twitter.com/cybrosys" |
|||
target="_blank"><i |
|||
class="fa fa-2x fa-twitter" |
|||
style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i |
|||
class="fa fa-2x fa-linkedin" |
|||
style="color:white;background: #31a3d6;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook" |
|||
style="color:white;background: #3b5998;width:35px; height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest" |
|||
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a> |
|||
</td> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</div> |
@ -0,0 +1,59 @@ |
|||
odoo.define('multi_barcodes_pos.product', function (require) { |
|||
"use strict"; |
|||
var rpc = require('web.rpc'); |
|||
var models = require('point_of_sale.models'); |
|||
var DB = require('point_of_sale.DB'); |
|||
models.load_fields("product.product", ['product_multi_barcodes']); |
|||
DB.include({ |
|||
init: function(options){ |
|||
this._super.apply(this, arguments); |
|||
|
|||
}, |
|||
add_products: function(products){ |
|||
var stored_categories = this.product_by_category_id; |
|||
if(!products instanceof Array){ |
|||
products = [products]; |
|||
} |
|||
for(var i = 0, len = products.length; i < len; i++){ |
|||
var product = products[i]; |
|||
var search_string = this._product_search_string(product); |
|||
var categ_id = product.pos_categ_id ? product.pos_categ_id[0] : this.root_category_id; |
|||
product.product_tmpl_id = product.product_tmpl_id[0]; |
|||
if(!stored_categories[categ_id]){ |
|||
stored_categories[categ_id] = []; |
|||
} |
|||
stored_categories[categ_id].push(product.id); |
|||
if(this.category_search_string[categ_id] === undefined){ |
|||
this.category_search_string[categ_id] = ''; |
|||
} |
|||
this.category_search_string[categ_id] += search_string; |
|||
var ancestors = this.get_category_ancestors_ids(categ_id) || []; |
|||
for(var j = 0, jlen = ancestors.length; j < jlen; j++){ |
|||
var ancestor = ancestors[j]; |
|||
if(! stored_categories[ancestor]){ |
|||
stored_categories[ancestor] = []; |
|||
} |
|||
stored_categories[ancestor].push(product.id); |
|||
if( this.category_search_string[ancestor] === undefined){ |
|||
this.category_search_string[ancestor] = ''; |
|||
} |
|||
this.category_search_string[ancestor] += search_string; |
|||
} |
|||
this.product_by_id[product.id] = product; |
|||
if(product.barcode){ |
|||
this.product_by_barcode[product.barcode] = product; |
|||
} |
|||
for(var t=0;t < product.product_multi_barcodes.length;t++){ |
|||
var self = this; |
|||
rpc.query({ |
|||
model: 'multi.barcode.products', |
|||
method: 'get_barcode_val', |
|||
args: [product.product_multi_barcodes[t], product.id], |
|||
}).then(function (barcode_val) { |
|||
self.product_by_barcode[barcode_val[0]] = self.product_by_id[barcode_val[1]]; |
|||
}); |
|||
} |
|||
} |
|||
}, |
|||
}); |
|||
}); |
@ -0,0 +1,9 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<template id="float_price" inherit_id="web.assets_backend" name="Float Price"> |
|||
<xpath expr="." position="inside"> |
|||
<script type="text/javascript" |
|||
src="/multi_barcodes_pos/static/src/js/pos_scan.js"/> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,34 @@ |
|||
<odoo> |
|||
<record model="ir.ui.view" id="product_template_form_view_supplier_ean13"> |
|||
<field name="name">product.template.ean13</field> |
|||
<field name="model">product.template</field> |
|||
<field name="inherit_id" ref="product.product_template_only_form_view"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//page[@name='general_information']" position="after"> |
|||
<page string="Barcodes" attrs="{'invisible':[('product_variant_count', '>', 1)]}"> |
|||
<field name="template_multi_barcodes"> |
|||
<tree editable="bottom"> |
|||
<field name="multi_barcode"/> |
|||
</tree> |
|||
</field> |
|||
</page> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
<record id="product_product_view_form_inherit_supplier_ean13" model="ir.ui.view"> |
|||
<field name="name">product.product.view.form.inherit.supplier.ean13</field> |
|||
<field name="model">product.product</field> |
|||
<field name="inherit_id" ref="product.product_normal_form_view"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//page[@name='general_information']" position="after"> |
|||
<page string="Barcodes"> |
|||
<field name="product_multi_barcodes"> |
|||
<tree editable="bottom"> |
|||
<field name="multi_barcode"/> |
|||
</tree> |
|||
</field> |
|||
</page> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
</odoo> |