diff --git a/pos_receipt_extend/README.rst b/pos_receipt_extend/README.rst new file mode 100644 index 000000000..6ee9a9ef7 --- /dev/null +++ b/pos_receipt_extend/README.rst @@ -0,0 +1,40 @@ +ADVANCED POS RECEIPT V16 +======================== +Advanced POS receipt with customer details and invoice details + +Installation +============ + - www.odoo.com/documentation/16.0/setup/install.html + - Install our custom addon + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.odoo.com/documentation/user/16.0/legal/licenses/licenses.html) + +Company +------- +* 'Cybrosys Techno Solutions '__ + +Credits +------- +* 'Cybrosys Techno Solutions '__ + +Contacts +-------- +* Mail Contact : odoo@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 +========== +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ + diff --git a/pos_receipt_extend/__init__.py b/pos_receipt_extend/__init__.py new file mode 100644 index 000000000..b36ae4c67 --- /dev/null +++ b/pos_receipt_extend/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# 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 \ No newline at end of file diff --git a/pos_receipt_extend/__manifest__.py b/pos_receipt_extend/__manifest__.py new file mode 100644 index 000000000..b9936ba96 --- /dev/null +++ b/pos_receipt_extend/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# 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': "Advanced POS Receipt", + "description": """Advanced POS Receipt with Customer Details and Invoice Details""", + "summary": "Advanced POS Receipt with Customer Details and Invoice Details", + "category": "Point of Sale", + "version": "16.0.1.0.0", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['point_of_sale', 'sale', 'account'], + 'data': [ + 'views/res_config_settings.xml', + ], + 'assets': { + 'point_of_sale.assets': [ + 'pos_receipt_extend/static/src/xml/OrderReceipt.xml', + 'pos_receipt_extend/static/src/js/pos_order_receipt.js', + 'pos_receipt_extend/static/src/js/payment.js', + ] + }, + 'images': [ + 'static/description/banner.png', ], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/pos_receipt_extend/doc/RELEASE_NOTES.md b/pos_receipt_extend/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..b06fcaf52 --- /dev/null +++ b/pos_receipt_extend/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 01.10.2022 +#### Version 16.0.1.0.0 +#### ADD +- Initial commit for pos_receipt_extend \ No newline at end of file diff --git a/pos_receipt_extend/models/__init__.py b/pos_receipt_extend/models/__init__.py new file mode 100644 index 000000000..0c7187413 --- /dev/null +++ b/pos_receipt_extend/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# 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 res_config_settings +from . import pos_session \ No newline at end of file diff --git a/pos_receipt_extend/models/pos_session.py b/pos_receipt_extend/models/pos_session.py new file mode 100644 index 000000000..637627603 --- /dev/null +++ b/pos_receipt_extend/models/pos_session.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# 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 . +# +############################################################################# + +import re + +from odoo import models, fields, api +import math + + +class PosSessionLoadFields(models.Model): + _inherit = 'pos.session' + + def _pos_ui_models_to_load(self): + result = super()._pos_ui_models_to_load() + result += [ + 'res.config.settings', + + ] + return result + + def _loader_params_res_config_settings(self): + return { + 'search_params': { + 'fields': ['barcode', 'invoice_number', + 'customer_address', 'customer_mobile', + 'customer_phone', 'customer_email', 'customer_vat', + 'barcode_type'], + + }, + } + + def _get_pos_ui_res_config_settings(self, params): + return self.env['res.config.settings'].search_read( + **params['search_params']) + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + sale_barcode = fields.Char() + + @api.model + def get_invoice(self, id): + pos_id = self.search([('pos_reference', '=', id)]) + base_url = self.env['ir.config_parameter'].get_param('web.base.url') + invoice_id = self.env['account.move'].search( + [('ref', '=', pos_id.name)]) + return { + 'invoice_id': invoice_id.id, + 'invoice_name': invoice_id.name, + 'base_url': base_url, + 'barcode': invoice_id.account_barcode, + } + + +class AccountMove(models.Model): + _inherit = "account.move" + + account_barcode = fields.Char() + + @api.model + def create(self, vals): + res = super(AccountMove, self).create(vals) + ean = self.generate_ean(str(res.id)) + res.account_barcode = ean + return res + + def ean_checksum(self, eancode): + """returns the checksum of an ean string of length 13, returns -1 if + the string has the wrong length""" + if len(eancode) != 13: + return -1 + oddsum = 0 + evensum = 0 + eanvalue = eancode + reversevalue = eanvalue[::-1] + finalean = reversevalue[1:] + + for i in range(len(finalean)): + if i % 2 == 0: + oddsum += int(finalean[i]) + else: + evensum += int(finalean[i]) + total = (oddsum * 3) + evensum + + check = int(10 - math.ceil(total % 10.0)) % 10 + return check + + def check_ean(eancode): + """returns True if eancode is a valid ean13 string, or null""" + if not eancode: + return True + if len(eancode) != 13: + return False + try: + int(eancode) + except: + return False + return eancode.ean_checksum(eancode) == int(eancode[-1]) + + def generate_ean(self, ean): + """Creates and returns a valid ean13 from an invalid one""" + if not ean: + return "0000000000000" + ean = re.sub("[A-Za-z]", "0", ean) + ean = re.sub("[^0-9]", "", ean) + ean = ean[:13] + if len(ean) < 13: + ean = ean + '0' * (13 - len(ean)) + return ean[:-1] + str(self.ean_checksum(ean)) diff --git a/pos_receipt_extend/models/res_config_settings.py b/pos_receipt_extend/models/res_config_settings.py new file mode 100644 index 000000000..fb0ad8b5a --- /dev/null +++ b/pos_receipt_extend/models/res_config_settings.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2022-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# 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 fields, models, api + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + barcode = fields.Boolean(string='Order Barcode') + invoice_number = fields.Boolean() + customer_details = fields.Boolean() + customer_name = fields.Boolean() + customer_address = fields.Boolean() + customer_mobile = fields.Boolean() + customer_phone = fields.Boolean() + customer_email = fields.Boolean() + customer_vat = fields.Boolean() + barcode_type = fields.Selection(selection=[('barcode', 'Barcode'), ('qr_code', 'QRCode')]) + + def set_values(self): + super(ResConfigSettings, self).set_values() + set_param = self.env['ir.config_parameter'].sudo().set_param + set_param('res.config.settings.customer_details', + int(self.customer_details)) + set_param('res.config.settings.customer_name', + int(self.customer_name)) + set_param('res.config.settings.customer_address', + int(self.customer_address)) + set_param('res.config.settings.customer_mobile', + int(self.customer_mobile)) + set_param('res.config.settings.customer_phone', + int(self.customer_phone)) + set_param('res.config.settings.customer_email', + int(self.customer_email)) + set_param('res.config.settings.customer_vat', + int(self.customer_vat)) + set_param('res.config.settings.barcode', + int(self.barcode)) + set_param('res.config.settings.invoice_number', + int(self.invoice_number)) + set_param('res.config.settings.barcode_type', + (self.barcode_type)) + + @api.model + def get_values(self): + res = super(ResConfigSettings, self).get_values() + get_param = self.env['ir.config_parameter'].sudo().get_param + res['customer_details'] = int( + get_param('res.config.settings.customer_details')) + res['customer_name'] = int( + get_param('res.config.settings.customer_name')) + res['customer_address'] = int( + get_param('res.config.settings.customer_address')) + res['customer_mobile'] = int( + get_param('res.config.settings.customer_mobile')) + res['customer_phone'] = int( + get_param('res.config.settings.customer_phone')) + res['customer_email'] = int( + get_param('res.config.settings.customer_email')) + res['customer_vat'] = int( + get_param('res.config.settings.customer_vat')) + res['barcode'] = int( + get_param('res.config.settings.barcode')) + res['invoice_number'] = int( + get_param('res.config.settings.invoice_number')) + res['barcode_type'] = ( + get_param('res.config.settings.barcode_type')) + return res diff --git a/pos_receipt_extend/static/description/assets/icons/check.png b/pos_receipt_extend/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/check.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/chevron.png b/pos_receipt_extend/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/chevron.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/cogs.png b/pos_receipt_extend/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/cogs.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/consultation.png b/pos_receipt_extend/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/consultation.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/ecom-black.png b/pos_receipt_extend/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/ecom-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/education-black.png b/pos_receipt_extend/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/education-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/hotel-black.png b/pos_receipt_extend/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/hotel-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/license.png b/pos_receipt_extend/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/license.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/lifebuoy.png b/pos_receipt_extend/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/lifebuoy.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/manufacturing-black.png b/pos_receipt_extend/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/manufacturing-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/pos-black.png b/pos_receipt_extend/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/pos-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/puzzle.png b/pos_receipt_extend/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/puzzle.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/restaurant-black.png b/pos_receipt_extend/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/restaurant-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/service-black.png b/pos_receipt_extend/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/service-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/trading-black.png b/pos_receipt_extend/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/trading-black.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/training.png b/pos_receipt_extend/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/training.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/update.png b/pos_receipt_extend/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/update.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/user.png b/pos_receipt_extend/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/user.png differ diff --git a/pos_receipt_extend/static/description/assets/icons/wrench.png b/pos_receipt_extend/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/icons/wrench.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/categories.png b/pos_receipt_extend/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/categories.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/check-box.png b/pos_receipt_extend/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/check-box.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/compass.png b/pos_receipt_extend/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/compass.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/corporate.png b/pos_receipt_extend/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/corporate.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/customer-support.png b/pos_receipt_extend/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/customer-support.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/cybrosys-logo.png b/pos_receipt_extend/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/cybrosys-logo.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/features.png b/pos_receipt_extend/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/features.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/logo.png b/pos_receipt_extend/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/logo.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/pictures.png b/pos_receipt_extend/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/pictures.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/pie-chart.png b/pos_receipt_extend/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/pie-chart.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/right-arrow.png b/pos_receipt_extend/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/right-arrow.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/star.png b/pos_receipt_extend/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/star.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/support.png b/pos_receipt_extend/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/support.png differ diff --git a/pos_receipt_extend/static/description/assets/misc/whatsapp.png b/pos_receipt_extend/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/misc/whatsapp.png differ diff --git a/pos_receipt_extend/static/description/assets/modules/1.png b/pos_receipt_extend/static/description/assets/modules/1.png new file mode 100644 index 000000000..5238bdeab Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/1.png differ diff --git a/pos_receipt_extend/static/description/assets/modules/2.png b/pos_receipt_extend/static/description/assets/modules/2.png new file mode 100644 index 000000000..1ae7cfe3b Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/2.png differ diff --git a/pos_receipt_extend/static/description/assets/modules/3.png b/pos_receipt_extend/static/description/assets/modules/3.png new file mode 100644 index 000000000..3c3ff1afb Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/3.png differ diff --git a/pos_receipt_extend/static/description/assets/modules/4.png b/pos_receipt_extend/static/description/assets/modules/4.png new file mode 100644 index 000000000..3fae4631e Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/4.png differ diff --git a/pos_receipt_extend/static/description/assets/modules/5.gif b/pos_receipt_extend/static/description/assets/modules/5.gif new file mode 100644 index 000000000..2a5f8e659 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/5.gif differ diff --git a/pos_receipt_extend/static/description/assets/modules/6.png b/pos_receipt_extend/static/description/assets/modules/6.png new file mode 100644 index 000000000..7f2815273 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/modules/6.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/hero.gif b/pos_receipt_extend/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..470c404ce Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/hero.gif differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_01.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_01.png new file mode 100644 index 000000000..e5fbe819f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_01.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_02.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_02.png new file mode 100644 index 000000000..5c90f7700 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_02.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_03.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_03.png new file mode 100644 index 000000000..ec0b33c93 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_03.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_04.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_04.png new file mode 100644 index 000000000..5b4921c0f Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_04.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_05.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_05.png new file mode 100644 index 000000000..21dc4376e Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_05.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_06.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_06.png new file mode 100644 index 000000000..b9937ce16 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_06.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_07.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_07.png new file mode 100644 index 000000000..122d4be09 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_07.png differ diff --git a/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_08.png b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_08.png new file mode 100644 index 000000000..a3aa19395 Binary files /dev/null and b/pos_receipt_extend/static/description/assets/screenshots/pos_receipt_08.png differ diff --git a/pos_receipt_extend/static/description/banner.png b/pos_receipt_extend/static/description/banner.png new file mode 100644 index 000000000..a77027978 Binary files /dev/null and b/pos_receipt_extend/static/description/banner.png differ diff --git a/pos_receipt_extend/static/description/icon.png b/pos_receipt_extend/static/description/icon.png new file mode 100644 index 000000000..1885aba9a Binary files /dev/null and b/pos_receipt_extend/static/description/icon.png differ diff --git a/pos_receipt_extend/static/description/index.html b/pos_receipt_extend/static/description/index.html new file mode 100644 index 000000000..48d8f4e54 --- /dev/null +++ b/pos_receipt_extend/static/description/index.html @@ -0,0 +1,587 @@ +
+ +
+ +
+
+ Community +
+
+
+ +
+
+
+ +

ADVANCED POS RECEIPT +

+

Advanced POS Receipt with Customer Details, Invoice Details and QR/Barcode

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

Explore This + Module

+
+ + + + +
+
+ +
+

Overview +

+
+
+
+ This module helps you to get advanced POS receipt that contains more information about the customer +
+
+ + + +
+
+ +
+

Features +

+
+
+
+
+ + Community Support. +
+
+ + POS receipt extended +
+
+ + POS receipt with customer information +
+
+ + Invoice information can be visible in receipt +
+
+
+ +
+ + Available in Odoo 16.0 + Community. +
+ +
+ + QR code information about the invoice +
+ + +
+ + Easy to handle POS receipt +
+ +
+
+ + + +
+
+ +
+

Screenshots +

+
+
+
+ +
+

Enable customer details from settings +

+

Go to Point of Sale -> Configuration ->settings + -> + We can enable the checkbox for customer details and we can enable the required data to visible in the receipt +

+ +
+ +
+

Customer details in receipt +

+

+ Create a receipt and see the changes

+ +
+ +
+

Invoice details inside receipt +

+

+ Go to Point of Sale -> Configuration ->settings + -> + We can enable the checkbox for invoice number to view invoice number on the receipt +

+ +
+ +
+

Invoice number in receipt +

+

Clicking print button we will POS pdf profit report group by product +

+ +
+ +
+ + +

Enable to see QR code +

+

+ Go to Point of Sale -> Configuration ->settings + -> + We can enable the checkbox for QR code and select QR code option

+ + +

QR code in receipt +

+

Create a receipt and see the QR code +

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

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

+
+
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/pos_receipt_extend/static/src/js/payment.js b/pos_receipt_extend/static/src/js/payment.js new file mode 100644 index 000000000..c6d62007b --- /dev/null +++ b/pos_receipt_extend/static/src/js/payment.js @@ -0,0 +1,45 @@ +odoo.define('pos_receipt_extend.PaymentScreen', function (require) { + 'use strict'; + var rpc = require('web.rpc') + const PaymentScreen = require('point_of_sale.PaymentScreen'); + const Registries = require('point_of_sale.Registries'); + const { onMounted } = owl; + + const PosPaymentReceiptExtend = PaymentScreen => class extends PaymentScreen { + setup() { + super.setup(); + + + } + async validateOrder(isForceValidate) { + var receipt_number = this.env.pos.selectedOrder.name + var orders = this.env.pos.selectedOrder + const receipt_order = await super.validateOrder(...arguments); + const codeWriter = new window.ZXing.BrowserQRCodeSvgWriter(); + var self= this; + + + rpc.query({ + model: 'pos.order', + method: 'get_invoice', + args: [receipt_number] + }).then(function(result){ + const address = `${result.base_url}/my/invoices/${result.invoice_id}?` + const barcode = result.barcode + let qr_code_svg = new XMLSerializer().serializeToString(codeWriter.write(address, 150, 150)); + self.env.pos.qr_image = "data:image/svg+xml;base64,"+ window.btoa(qr_code_svg); + let barcode_svg = new XMLSerializer().serializeToString(codeWriter.write(barcode, 150, 150)); + self.env.pos.barcode_image = "data:image/svg+xml;base64,"+ window.btoa(barcode_svg); + self.env.pos.barcode = barcode + self.env.pos.invoice = result.invoice_name + }); + return receipt_order + } + } + + + Registries.Component.extend(PaymentScreen, PosPaymentReceiptExtend); + + return PaymentScreen; + }); + diff --git a/pos_receipt_extend/static/src/js/pos_order_receipt.js b/pos_receipt_extend/static/src/js/pos_order_receipt.js new file mode 100644 index 000000000..db5ddb90d --- /dev/null +++ b/pos_receipt_extend/static/src/js/pos_order_receipt.js @@ -0,0 +1,29 @@ +odoo.define('pos_receipt_extends.pos_order', function (require) { +"use strict"; +const { batched, uuidv4 } = require("point_of_sale.utils"); + var { PosGlobalState, Order} = require('point_of_sale.models'); + const Registries = require('point_of_sale.Registries'); + var rpc = require('web.rpc') + var Widget = require('web.Widget'); + + const PosSessionOrdersPosGlobalState = (PosGlobalState) => class PosSessionOrdersPosGlobalState extends PosGlobalState { + async _processData(loadedData) { + await super._processData(...arguments); + this.session_orders = loadedData['res.config.settings']; + var json = { + access_token: this.access_token || '', + }; + const options = {pos:this}; + this.pos = options.pos; + this.access_token = uuidv4(); + const address = `${this.pos.base_url}/pos/ticket/validate?access_token=${this.access_token}` + var receipt_number = this.env.pos.selectedOrder + + + $(".orderlines").change(function (){ + const address = `${this.base_url}/pos/ticket/validate?access_token=${this.access_token}` + }); + } } +Registries.Model.extend(PosGlobalState, PosSessionOrdersPosGlobalState); +}); + diff --git a/pos_receipt_extend/static/src/xml/OrderReceipt.xml b/pos_receipt_extend/static/src/xml/OrderReceipt.xml new file mode 100644 index 000000000..5c6e6b563 --- /dev/null +++ b/pos_receipt_extend/static/src/xml/OrderReceipt.xml @@ -0,0 +1,68 @@ + + + + + + + +
Customer Name: + + + +
+ + + +
Customer Address: + +
+
+ + + +
Customer Mobile: + +
+
+ + + +
Customer Phone: + +
+
+ + + +
Customer Email: + +
+
+ + + +
Customer Vat: + +
+
+ + +
Invoice Number: + +
+
+ + + +
+ +
+
+ + + +
+
+
\ No newline at end of file diff --git a/pos_receipt_extend/views/pos_receipt_template.xml b/pos_receipt_extend/views/pos_receipt_template.xml new file mode 100644 index 000000000..cc0736563 --- /dev/null +++ b/pos_receipt_extend/views/pos_receipt_template.xml @@ -0,0 +1,21 @@ + + + + +
+ Order Type : + +
+
+
+
+ +
+ + +
+
+
+ diff --git a/pos_receipt_extend/views/res_config_settings.xml b/pos_receipt_extend/views/res_config_settings.xml new file mode 100644 index 000000000..d07ad20bd --- /dev/null +++ b/pos_receipt_extend/views/res_config_settings.xml @@ -0,0 +1,122 @@ + + + + pos.settings.view + res.config.settings + + + +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
\ No newline at end of file