diff --git a/product_detail_search/README.rst b/product_detail_search/README.rst new file mode 100755 index 000000000..8f18d0a9e --- /dev/null +++ b/product_detail_search/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/licence-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Find Products in Pos and Stock using Barcode +============================================ +Find the product using barcode in the pos and inventory + +Configuration +============= +No additional configuration required + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +------- +Developer: (V15) Gayathri V, + (V16) Gokul P I , +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 `__ + +Further information +=================== +HTML Description: ``__ diff --git a/product_detail_search/__init__.py b/product_detail_search/__init__.py new file mode 100755 index 000000000..66ecbe3a7 --- /dev/null +++ b/product_detail_search/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/product_detail_search/__manifest__.py b/product_detail_search/__manifest__.py new file mode 100755 index 000000000..ea5ec1a05 --- /dev/null +++ b/product_detail_search/__manifest__.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Find Products in Pos and Stock using Barcode', + 'version': '15.0.1.0.0', + 'category': 'Point of Sale', + 'summary': 'Find Products in Pos and Stock using Barcode utilizes barcode' + ' scanning to quickly identify and track items. Each product' + ' is assigned a unique barcode,', + 'description': 'Find Products in Pos and Stock using Barcode in the POS' + ' and inventory modules brings numerous benefits to ' + 'retailers.It enhances operational efficiency, reduces ' + 'manual errors, improves customer service, and provides ' + 'valuable insights for better inventory management and ' + 'business decision-making.', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['point_of_sale', 'stock'], + 'data': [ + 'views/stock_views.xml' + ], + 'assets': { + 'point_of_sale.assets': [ + 'product_detail_search/static/src/css/pos.css', + 'product_detail_search/static/src/js/find_product_button.js', + 'product_detail_search/static/src/js/find_product.js', + 'product_detail_search/static/src/js/product_details.js', + ], + 'web.assets_qweb': [ + '/product_detail_search/static/src/xml/find_product_button_templates.xml', + '/product_detail_search/static/src/xml/find_product_screen_templates.xml', + '/product_detail_search/static/src/xml/product_details_templates.xml', + '/product_detail_search/static/src/xml/chrome_templates.xml', + '/product_detail_search/static/src/xml/dashboard_templates.xml', + ], + 'web.assets_backend': [ + '/product_detail_search/static/src/css/barcode.css', + '/product_detail_search/static/src/js/dashboard.js', + ], + }, + 'images': [ + 'static/description/banner.png', + ], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/product_detail_search/doc/RELEASE_NOTES.md b/product_detail_search/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..d17acc735 --- /dev/null +++ b/product_detail_search/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 06.07.2024 +#### Version 15.0.1.0.0 +#### ADD +- Initial commit for Find Products in Pos and Stock using Barcode diff --git a/product_detail_search/models/__init__.py b/product_detail_search/models/__init__.py new file mode 100755 index 000000000..b285ec5bd --- /dev/null +++ b/product_detail_search/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import product_template diff --git a/product_detail_search/models/product_template.py b/product_detail_search/models/product_template.py new file mode 100755 index 000000000..3f9c7e07d --- /dev/null +++ b/product_detail_search/models/product_template.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Gayathri V (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import models + + +class ProductTemplate(models.Model): + """Inheriting The product template for adding the product_detail_search + method""" + _inherit = 'product.template' + + def product_detail_search(self, barcode): + """Find the details for the product When the barcode Scan is + Detected""" + product = self.env['product.product'].search( + [('barcode', '=', barcode)]) + if product: + product_details = product.read() + specification = [color.strip() for color in + product_details[0]['display_name'].split("(")[ + -1].split(")")[0].split(",")] + symbol = self.env['res.currency'].browse( + int(product_details[0]['currency_id'][0])) + extra_details = {'symbol': str(symbol.symbol)} + if product_details[0]['taxes_id']: + extra_details.update({'tax_amount': str( + self.env['account.tax'].browse( + int(product_details[0]['taxes_id'][0])).name)}) + else: + extra_details.update({'tax_amount': 'No tax', + 'specification': specification}) + product_type = dict(self._fields['detailed_type'].selection).get(product.detailed_type) + extra_details.update({'product_type': product_type}) + product_details[0].update(extra_details) + + return product_details + else: + product_details = False + return product_details diff --git a/product_detail_search/static/description/assets/icons/check.png b/product_detail_search/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/product_detail_search/static/description/assets/icons/check.png differ diff --git a/product_detail_search/static/description/assets/icons/chevron.png b/product_detail_search/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/chevron.png differ diff --git a/product_detail_search/static/description/assets/icons/cogs.png b/product_detail_search/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/cogs.png differ diff --git a/product_detail_search/static/description/assets/icons/consultation.png b/product_detail_search/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/product_detail_search/static/description/assets/icons/consultation.png differ diff --git a/product_detail_search/static/description/assets/icons/ecom-black.png b/product_detail_search/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/ecom-black.png differ diff --git a/product_detail_search/static/description/assets/icons/education-black.png b/product_detail_search/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/product_detail_search/static/description/assets/icons/education-black.png differ diff --git a/product_detail_search/static/description/assets/icons/hotel-black.png b/product_detail_search/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/product_detail_search/static/description/assets/icons/hotel-black.png differ diff --git a/product_detail_search/static/description/assets/icons/license.png b/product_detail_search/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/product_detail_search/static/description/assets/icons/license.png differ diff --git a/product_detail_search/static/description/assets/icons/lifebuoy.png b/product_detail_search/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/product_detail_search/static/description/assets/icons/lifebuoy.png differ diff --git a/product_detail_search/static/description/assets/icons/logo.png b/product_detail_search/static/description/assets/icons/logo.png new file mode 100755 index 000000000..478462d3e Binary files /dev/null and b/product_detail_search/static/description/assets/icons/logo.png differ diff --git a/product_detail_search/static/description/assets/icons/manufacturing-black.png b/product_detail_search/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/product_detail_search/static/description/assets/icons/manufacturing-black.png differ diff --git a/product_detail_search/static/description/assets/icons/pos-black.png b/product_detail_search/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/pos-black.png differ diff --git a/product_detail_search/static/description/assets/icons/puzzle.png b/product_detail_search/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/puzzle.png differ diff --git a/product_detail_search/static/description/assets/icons/restaurant-black.png b/product_detail_search/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/restaurant-black.png differ diff --git a/product_detail_search/static/description/assets/icons/service-black.png b/product_detail_search/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/product_detail_search/static/description/assets/icons/service-black.png differ diff --git a/product_detail_search/static/description/assets/icons/trading-black.png b/product_detail_search/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/product_detail_search/static/description/assets/icons/trading-black.png differ diff --git a/product_detail_search/static/description/assets/icons/training.png b/product_detail_search/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/product_detail_search/static/description/assets/icons/training.png differ diff --git a/product_detail_search/static/description/assets/icons/update.png b/product_detail_search/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/product_detail_search/static/description/assets/icons/update.png differ diff --git a/product_detail_search/static/description/assets/icons/user.png b/product_detail_search/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/product_detail_search/static/description/assets/icons/user.png differ diff --git a/product_detail_search/static/description/assets/icons/wrench.png b/product_detail_search/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/product_detail_search/static/description/assets/icons/wrench.png differ diff --git a/product_detail_search/static/description/assets/misc/categories.png b/product_detail_search/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/categories.png differ diff --git a/product_detail_search/static/description/assets/misc/check-box.png b/product_detail_search/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/check-box.png differ diff --git a/product_detail_search/static/description/assets/misc/compass.png b/product_detail_search/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/product_detail_search/static/description/assets/misc/compass.png differ diff --git a/product_detail_search/static/description/assets/misc/corporate.png b/product_detail_search/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/product_detail_search/static/description/assets/misc/corporate.png differ diff --git a/product_detail_search/static/description/assets/misc/customer-support.png b/product_detail_search/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/product_detail_search/static/description/assets/misc/customer-support.png differ diff --git a/product_detail_search/static/description/assets/misc/cybrosys-logo.png b/product_detail_search/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/product_detail_search/static/description/assets/misc/cybrosys-logo.png differ diff --git a/product_detail_search/static/description/assets/misc/features.png b/product_detail_search/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/features.png differ diff --git a/product_detail_search/static/description/assets/misc/logo.png b/product_detail_search/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/product_detail_search/static/description/assets/misc/logo.png differ diff --git a/product_detail_search/static/description/assets/misc/pictures.png b/product_detail_search/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/pictures.png differ diff --git a/product_detail_search/static/description/assets/misc/pie-chart.png b/product_detail_search/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/pie-chart.png differ diff --git a/product_detail_search/static/description/assets/misc/right-arrow.png b/product_detail_search/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/right-arrow.png differ diff --git a/product_detail_search/static/description/assets/misc/star.png b/product_detail_search/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/product_detail_search/static/description/assets/misc/star.png differ diff --git a/product_detail_search/static/description/assets/misc/support.png b/product_detail_search/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/support.png differ diff --git a/product_detail_search/static/description/assets/misc/whatsapp.png b/product_detail_search/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/product_detail_search/static/description/assets/misc/whatsapp.png differ diff --git a/product_detail_search/static/description/assets/modules/1.jpg b/product_detail_search/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..e7985dc61 Binary files /dev/null and b/product_detail_search/static/description/assets/modules/1.jpg differ diff --git a/product_detail_search/static/description/assets/modules/1.png b/product_detail_search/static/description/assets/modules/1.png new file mode 100755 index 000000000..61a29d9f3 Binary files /dev/null and b/product_detail_search/static/description/assets/modules/1.png differ diff --git a/product_detail_search/static/description/assets/modules/2.png b/product_detail_search/static/description/assets/modules/2.png new file mode 100644 index 000000000..5c8646fae Binary files /dev/null and b/product_detail_search/static/description/assets/modules/2.png differ diff --git a/product_detail_search/static/description/assets/modules/3.png b/product_detail_search/static/description/assets/modules/3.png new file mode 100644 index 000000000..6a0795416 Binary files /dev/null and b/product_detail_search/static/description/assets/modules/3.png differ diff --git a/product_detail_search/static/description/assets/modules/4.png b/product_detail_search/static/description/assets/modules/4.png new file mode 100644 index 000000000..f640cfa3a Binary files /dev/null and b/product_detail_search/static/description/assets/modules/4.png differ diff --git a/product_detail_search/static/description/assets/modules/5.gif b/product_detail_search/static/description/assets/modules/5.gif new file mode 100644 index 000000000..8f40aab85 Binary files /dev/null and b/product_detail_search/static/description/assets/modules/5.gif differ diff --git a/product_detail_search/static/description/assets/modules/5.png b/product_detail_search/static/description/assets/modules/5.png new file mode 100755 index 000000000..ebbbfb663 Binary files /dev/null and b/product_detail_search/static/description/assets/modules/5.png differ diff --git a/product_detail_search/static/description/assets/modules/6.png b/product_detail_search/static/description/assets/modules/6.png new file mode 100644 index 000000000..f7be9edcf Binary files /dev/null and b/product_detail_search/static/description/assets/modules/6.png differ diff --git a/product_detail_search/static/description/assets/screenshots/Screenshot3.png b/product_detail_search/static/description/assets/screenshots/Screenshot3.png new file mode 100644 index 000000000..f5481d5e2 Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/Screenshot3.png differ diff --git a/product_detail_search/static/description/assets/screenshots/Screenshot4.png b/product_detail_search/static/description/assets/screenshots/Screenshot4.png new file mode 100644 index 000000000..ec338d310 Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/Screenshot4.png differ diff --git a/product_detail_search/static/description/assets/screenshots/hero.gif b/product_detail_search/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..962bf135d Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/hero.gif differ diff --git a/product_detail_search/static/description/assets/screenshots/screenshot 1.png b/product_detail_search/static/description/assets/screenshots/screenshot 1.png new file mode 100644 index 000000000..ac16b76f2 Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/screenshot 1.png differ diff --git a/product_detail_search/static/description/assets/screenshots/screenshot_2.png b/product_detail_search/static/description/assets/screenshots/screenshot_2.png new file mode 100644 index 000000000..ae1daff6a Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/screenshot_2.png differ diff --git a/product_detail_search/static/description/assets/screenshots/screenshot_5.png b/product_detail_search/static/description/assets/screenshots/screenshot_5.png new file mode 100644 index 000000000..43a8a5b7b Binary files /dev/null and b/product_detail_search/static/description/assets/screenshots/screenshot_5.png differ diff --git a/product_detail_search/static/description/banner.png b/product_detail_search/static/description/banner.png new file mode 100644 index 000000000..d875c18c0 Binary files /dev/null and b/product_detail_search/static/description/banner.png differ diff --git a/product_detail_search/static/description/icon.png b/product_detail_search/static/description/icon.png new file mode 100644 index 000000000..9b43c470d Binary files /dev/null and b/product_detail_search/static/description/icon.png differ diff --git a/product_detail_search/static/description/index.html b/product_detail_search/static/description/index.html new file mode 100644 index 000000000..cadcd0cda --- /dev/null +++ b/product_detail_search/static/description/index.html @@ -0,0 +1,664 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+ +
+
+
+
+ + + +
+
+
+

+ Find Products in Pos and Stock using Barcode

+

+ Find Products Using Barcode In The Inventory and POS. +

+ +
+
+
+ + + +
+
+ +
+

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview +

+
+
+
+ Find Products in Pos and Stock using Barcode App for Odoo 15 is a + powerful tool designed to streamline and simplify the process of + retrieving product information by scanning barcodes. By harnessing the + power of barcode scanning technology, this feature enables businesses to + streamline operations and enhance efficiency. In the POS module, the + Find Products in POS and Stock using Barcode simplifies the checkout + experience for both cashiers and customers. Instead of manually + searching for products or entering item details, cashiers can quickly + scan the barcodes, which automatically add the products to the + transaction, calculate the total cost, and generate a receipt. +
+
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ + Efficient Product Identification: A barcode-based Find Products in Pos and Stock using Barcode in the Point of Sale (POS) and inventory module offers a quick and accurate way to identify products. By scanning the barcode, the system instantly retrieves the product information, eliminating the need for manual searching or data entry. +
+
+ + Reduced Training Time: Barcode-based Find Products in Pos and Stock using Barcode simplify the training process for new employees. Instead of memorizing product codes or searching through a complex inventory system, they can quickly learn to use the barcode scanner. +
+
+ + Compliance and Regulatory Requirements: Barcode-based systems can assist businesses in meeting compliance and regulatory requirements. For instance, in industries such as healthcare or pharmaceuticals, barcodes can be used to comply with track-and-trace regulations, ensuring the proper identification and tracing of products throughout the supply chain. +
+
+ + Enhanced Product Traceability: With a barcode-based system, each product can be uniquely identified and tracked throughout its lifecycle. This enables businesses to monitor product movement, trace batches or lots, and facilitate recalls or warranty processes if necessary. It enhances transparency, quality control, and customer safety. +
+
+ + Increased Operational Efficiency: By leveraging barcode scanning technology in the POS and inventory module, businesses can achieve higher operational efficiency. Employees spend less time manually searching for products, reconciling inventory, or correcting errors. This frees up time for more critical tasks, improves productivity, and contributes to a smoother overall workflow. +
+
+
+ + +
+
+ +
+

+ Screenshots +

+
+
+
+
+

+ Find Product Details in the Inventory

+

+ Navigate to the Inventory, where you'll find the 'Find Product' menu. Click on the menu and proceed to + scan the barcode into designated text field.

+ +
+
+

+ Once you scan the barcode, you will be able to view the corresponding product details below.

+ +
+
+

+ Find Product Details in the POS

+

+ A new button called "Find Products" in POS.

+ +
+
+

+ On clicking "Find Products" button, will redirect to a window where you can scan your product barcode + .

+ +
+
+

+ After scanning, you can see corresponding product details.

+ +
+
+
+ + + +
+
+ +
+

+ Related + Products +

+
+
+
+

Suggested Products

+
+ + +
+
+ + +
+
+ +
+

+ Our Services +

+
+
+
+
+
+ +
+
+ Odoo + Customization
+
+
+
+ +
+
+ Odoo + Implementation
+
+
+
+ +
+
+ Odoo + Support
+
+ +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+
+ + + + +
+
+ +
+

+ Our + Industries +

+
+
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + + +
+
+ +
+

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/product_detail_search/static/src/css/barcode.css b/product_detail_search/static/src/css/barcode.css new file mode 100755 index 000000000..9dbb5ed6a --- /dev/null +++ b/product_detail_search/static/src/css/barcode.css @@ -0,0 +1,86 @@ +.barcode_inventory{ +justify-content:center; +} +.barcode_inventory header h2{ +width: 50%; +text-align:right; +padding-right:27px; + float: left; + } +.barcode_inventory header #barcode{ + float: left; + width: 40%; +} +.barcode_screen{ +margin-top: 80px; +} +.barcode_screen h1{ +margin: 29px 0px; +text-align: center; +} +.barcode_scan{ +display: flex; + justify-content: left; + margin-top: 31px; + +} +.container_product_info{ +align-items: center; + display: flex; + width: 100%; + justify-content: center; +} +.category-img{ +margin-right:21px; +background-color: #f7f7f7; + height: auto; + display: flex; +} +.category-img img{ +width:300px; +height:auto; +object-fit: cover; +} +. +.clientlist-screen h1 { + text-align: center; + } + + .clientlist-screen img { + display: block; + margin: 0 auto; + max-width: 300px; + height: auto; + margin-bottom: 20px; + } + + .clientlist-screen table { + width: 100%; + border-collapse: collapse; + } + + .clientlist-screen td.label { + font-weight: bold; + width: 200px; + padding: 10px; + vertical-align: top; + } + + .clientlist-screen td.value { + padding: 10px; + vertical-align: top; + max-width: 300px; + } + + @media (max-width: 600px) { + /* Responsive styles */ + .clientlist-screen td.label { + width: 100%; + text-align: left; + } + + .clientlist-screen td.value { + width: 100%; + text-align: left; + } + } diff --git a/product_detail_search/static/src/css/pos.css b/product_detail_search/static/src/css/pos.css new file mode 100755 index 000000000..c91cbd569 --- /dev/null +++ b/product_detail_search/static/src/css/pos.css @@ -0,0 +1,66 @@ +.form_scan_product{ + text-align: center; + margin-top:80px; +} +.form_scan_product h2 +{ +font-size: 28px; +} +.form_scan_product h4{ +font-size: 18px; +} +.container_product_info{ +align-items: center; + display: flex; + width: 100%; + justify-content: center; +} +.category-img{ +margin-right:21px; +background-color: #f7f7f7; + height: auto; + width:500px; + display: flex; +} +.category-img img{ +width:300px; +height: auto; +object-fit: cover; +} +. +.clientlist-screen h1 { + text-align: center; + } + .clientlist-screen img { + display: block; + margin: 0 auto; + max-width: 300px; + height: auto; + margin-bottom: 20px; + } + .clientlist-screen table { + width: 100%; + border-collapse: collapse; + } + .clientlist-screen td.label { + font-weight: bold; + width: 200px; + padding: 10px; + vertical-align: top; + } + .clientlist-screen td.value { + padding: 10px; + vertical-align: top; + max-width: 300px; + } + @media (max-width: 600px) { + /* Responsive styles */ + .clientlist-screen td.label { + width: 100%; + text-align: left; + } + .clientlist-screen td.value { + width: 100%; + text-align: left; + } + } diff --git a/product_detail_search/static/src/js/dashboard.js b/product_detail_search/static/src/js/dashboard.js new file mode 100755 index 000000000..fdffc5539 --- /dev/null +++ b/product_detail_search/static/src/js/dashboard.js @@ -0,0 +1,67 @@ +odoo.define('pos_restrict_product_stock.product_detail_search', function (require) { +"use strict"; + var AbstractAction = require('web.AbstractAction'); + var core = require('web.core'); + var rpc = require('web.rpc'); + //extending abstract actions for the dashboard + var product_detail_search_barcode_dashboard = AbstractAction.extend({ + contentTemplate: 'CustomDashBoardFindProduct', + events: { + 'keypress': '_onKeypress', + 'change': '_onChange' + }, + //set up the dashboard template + init: function(parent, context) { + var self = this; + this._super(parent, context); + this.dashboards_templates = ['product_detail_search_template']; + }, + //For getting the corresponding barcode of the product + //when detect barcode scan + _onKeypress: function(data) { + this.typed_into = true; + }, + //For detect the barcode scan after the keypress event and getting the + //corresponding product details from the backend + _onChange: function(data) { + var self=this; + var barcode_value = this.$("#" + data.target.id).val(); + if (this.typed_into) { + var def1 = self._rpc({ + model: 'product.template', + method: 'product_detail_search', + args: [[], barcode_value], + }).then(function(result) { + self.barcode_value = barcode_value; + if (result==false) { + self.product_details=false + } + else { + self.product_details = result + } + self.render_dashboards(); + }); + this.typed_into = false; + } + }, + //Used to call the render_dashboards when the start function called + start: function() { + var self = this; + this.set("title", 'Dashboard'); + return this._super().then(function() { + self.render_dashboards(); + }); + }, + //Used to render the dashboard + render_dashboards: function() { + var self = this; + _.each(this.dashboards_templates, function(template) { + self.$('.o_pj_dashboard').html(core.qweb.render(template, { + widget: self + })); + }); + }, + }); + core.action_registry.add('product_detail_search_barcode_main_menu', product_detail_search_barcode_dashboard); + return product_detail_search_barcode_dashboard; +}); \ No newline at end of file diff --git a/product_detail_search/static/src/js/find_product.js b/product_detail_search/static/src/js/find_product.js new file mode 100755 index 000000000..a4b7b7d05 --- /dev/null +++ b/product_detail_search/static/src/js/find_product.js @@ -0,0 +1,42 @@ +/** @odoo-module **/ + + const PosComponent = require('point_of_sale.PosComponent'); + const Registries = require('point_of_sale.Registries'); + var rpc = require('web.rpc'); + const { useBarcodeReader } = require('point_of_sale.custom_hooks'); + class FindProductScreen extends PosComponent { + setup(){ + super.setup(); + useBarcodeReader({ + product: this._barcodeProductAction + }); + } + //Barcode scan detect function + async _barcodeProductAction(code) { + var self = this; + rpc.query({ + model: 'product.template', + method: 'product_detail_search', + args: [[], code.base_code], + }).then(function(result) { + if (result==false) { + self.showScreen('ProductDetails', { + 'product_details' : false, + }); + } + else { + self.product_details = result + self.showScreen('ProductDetails', { + 'product_details' : self.product_details, + }); + } + }); + } + //Returning the Product Screen + back() { + this.showScreen('ProductScreen'); + } + }; + FindProductScreen.template = 'FindProductScreen'; + Registries.Component.add(FindProductScreen); + return FindProductScreen; diff --git a/product_detail_search/static/src/js/find_product_button.js b/product_detail_search/static/src/js/find_product_button.js new file mode 100755 index 000000000..165b0a7ef --- /dev/null +++ b/product_detail_search/static/src/js/find_product_button.js @@ -0,0 +1,18 @@ +/** @odoo-module **/ + + const PosComponent = require('point_of_sale.PosComponent'); + const { useListener } = require("@web/core/utils/hooks"); + const Registries = require('point_of_sale.Registries'); + class FindProductButton extends PosComponent { + setup() { + super.setup(); + useListener('click', this.onClick); + } + //To see the Find Product Screen + async onClick() { + this.showScreen('FindProductScreen'); + } + } + FindProductButton.template = 'FindProductButton'; + Registries.Component.add(FindProductButton); + return FindProductButton; diff --git a/product_detail_search/static/src/js/product_details.js b/product_detail_search/static/src/js/product_details.js new file mode 100755 index 000000000..ce6edbe17 --- /dev/null +++ b/product_detail_search/static/src/js/product_details.js @@ -0,0 +1,23 @@ +/** @odoo-module **/ + + const PosComponent = require('point_of_sale.PosComponent'); + const Registries = require('point_of_sale.Registries'); + class ProductDetails extends PosComponent { + setup(){ + super.setup(); + if (this.props.product_details==false){ + this.product_details=false + } + else + { + this.product_details = this.props.product_details; + } + } + //To see the Find product Screen + back() { + this.showScreen('FindProductScreen'); + } + }; + ProductDetails.template = 'ProductDetails'; + Registries.Component.add(ProductDetails); + return ProductDetails; diff --git a/product_detail_search/static/src/xml/chrome_templates.xml b/product_detail_search/static/src/xml/chrome_templates.xml new file mode 100755 index 000000000..60089c170 --- /dev/null +++ b/product_detail_search/static/src/xml/chrome_templates.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/product_detail_search/static/src/xml/dashboard_templates.xml b/product_detail_search/static/src/xml/dashboard_templates.xml new file mode 100755 index 000000000..7a915eb6a --- /dev/null +++ b/product_detail_search/static/src/xml/dashboard_templates.xml @@ -0,0 +1,132 @@ + + diff --git a/product_detail_search/static/src/xml/find_product_button_templates.xml b/product_detail_search/static/src/xml/find_product_button_templates.xml new file mode 100755 index 000000000..e296b1185 --- /dev/null +++ b/product_detail_search/static/src/xml/find_product_button_templates.xml @@ -0,0 +1,10 @@ + + + + + + + Find Product + + + diff --git a/product_detail_search/static/src/xml/find_product_screen_templates.xml b/product_detail_search/static/src/xml/find_product_screen_templates.xml new file mode 100755 index 000000000..526eba9b7 --- /dev/null +++ b/product_detail_search/static/src/xml/find_product_screen_templates.xml @@ -0,0 +1,19 @@ + + + + +
+
+
+
+ Back +
+
+
+

Scan Your Product

+

Please Scan a Product To get the details

+
+
+
+
+
diff --git a/product_detail_search/static/src/xml/product_details_templates.xml b/product_detail_search/static/src/xml/product_details_templates.xml new file mode 100755 index 000000000..47ac95bb6 --- /dev/null +++ b/product_detail_search/static/src/xml/product_details_templates.xml @@ -0,0 +1,115 @@ + + + + +
+
+
+
+ Back +
+
+

Product Information

+ +

No products Found

+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Product Name: +
Product Specification: + +
Product Type: + +
Product Tax: + +
Barcode: +
Code: + + + No code
Product Category: +
Available Stock: +
Sales Price: + + + + +
+ +
+
Company: + No company + +
+
+
+
+
+
+
+
diff --git a/product_detail_search/views/stock_views.xml b/product_detail_search/views/stock_views.xml new file mode 100755 index 000000000..77e682961 --- /dev/null +++ b/product_detail_search/views/stock_views.xml @@ -0,0 +1,15 @@ + + + + + Find Product Barcode + product_detail_search_barcode_main_menu + + + +