diff --git a/call_for_price_website/README.rst b/call_for_price_website/README.rst new file mode 100644 index 000000000..6ca756f82 --- /dev/null +++ b/call_for_price_website/README.rst @@ -0,0 +1,47 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +WEBSITE CALL FOR PRICE +====================== +This module helps hide products prices from the shop and using 'Call for Price' button customer can sent their details, the user will follow up the details and get the product price. + +Configuration +============= +No additional configuration required + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developers: Nikhil M @cybrosys + +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/call_for_price_website/__init__.py b/call_for_price_website/__init__.py new file mode 100644 index 000000000..86cf18f0f --- /dev/null +++ b/call_for_price_website/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import controllers +from . import models diff --git a/call_for_price_website/__manifest__.py b/call_for_price_website/__manifest__.py new file mode 100644 index 000000000..e83020ae4 --- /dev/null +++ b/call_for_price_website/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'Website Call For Price', + 'version': '17.0.1.0.0', + 'category': 'Website', + 'summary': """Helps to hide price of product from shop""", + 'description': "Hide price and add to cart item button of All page stores" + "and user must ask for a call for price", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'images': ['static/description/banner.png'], + 'website': 'https://www.cybrosys.com', + 'depends': ['website_sale', 'website_sale_stock', 'website_sale_wishlist', + 'website_sale_comparison'], + 'data': [ + 'security/ir.model.access.csv', + 'views/custom_templates.xml', + 'views/call_for_price_views.xml', + 'views/product_template_views.xml', + ], + 'assets': { + 'web.assets_frontend': [ + 'call_for_price_website/static/src/js/variant.js' + ] + }, + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/call_for_price_website/controllers/__init__.py b/call_for_price_website/controllers/__init__.py new file mode 100644 index 000000000..e88b4e87f --- /dev/null +++ b/call_for_price_website/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import call_for_price_website diff --git a/call_for_price_website/controllers/call_for_price_website.py b/call_for_price_website/controllers/call_for_price_website.py new file mode 100644 index 000000000..db8fa38a0 --- /dev/null +++ b/call_for_price_website/controllers/call_for_price_website.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import http +from odoo.http import request + + +class WebsiteForm(http.Controller): + @http.route(['/call_for_price/submit'], type='http',csrf=False, auth="user", website=True ,methods=['POST']) + def call_for_price(self, **post): + """Function for store the call for price queries to backend""" + record = request.env['call.price'].sudo().create(post) + if record: + return request.render("website.contactus_thanks") diff --git a/call_for_price_website/doc/RELEASE_NOTES.md b/call_for_price_website/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..3cb7d4e53 --- /dev/null +++ b/call_for_price_website/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 17.02.2024 +#### Version 17.0.1.0.0 +#### ADD + +- Initial Commit for Website Call For Price diff --git a/call_for_price_website/models/__init__.py b/call_for_price_website/models/__init__.py new file mode 100644 index 000000000..c65ca730c --- /dev/null +++ b/call_for_price_website/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import call_price +from . import product_template diff --git a/call_for_price_website/models/call_price.py b/call_for_price_website/models/call_price.py new file mode 100644 index 000000000..98adb2866 --- /dev/null +++ b/call_for_price_website/models/call_price.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class CallForPrice(models.Model): + """Creating a model to record all the request the get from website.""" + _name = 'call.price' + _description = 'Call for Price' + _rec_name = 'product_id' + + first_name = fields.Char(string="First Name", help="First Name of user") + last_name = fields.Char(string="Last Name", help="Last Name of user") + product_id = fields.Many2one('product.template', string="Product", + help="In which product " + "they are requesting price") + email = fields.Char(string="Email", help="Users email for contact") + phone = fields.Char(string="Contact No.", + help="Users contact number for contacting") + quantity = fields.Integer(string="Quantity", + help="How much quantity of product price " + "they want know") + message = fields.Char(string="Message", + help="If any messages for referring") + state = fields.Selection( + [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancel')], + default="draft", help="Call for price requests stage") + + def action_done(self): + """the price of the requested product will be updated for them, + form state is done""" + self.write({'state': 'done'}) + + def action_cancel(self): + """ cancel the form or change the state to cancel""" + self.write({'state': 'cancel'}) + + @api.model + def create_form(self, first, last, product_id, phone, email, message, qty): + """ create the request from the users to backend for teams""" + self.create({ + 'product_id': product_id, + 'first_name': first, + 'last_name': last, + 'phone': phone, + 'email': email, + 'quantity': qty, + 'message': message + }) diff --git a/call_for_price_website/models/product_template.py b/call_for_price_website/models/product_template.py new file mode 100644 index 000000000..62e6a5add --- /dev/null +++ b/call_for_price_website/models/product_template.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Nikhil M (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import fields, models + + +class ProductTemplate(models.Model): + """Inheriting product template model for adding the field price_call into + the combination_info""" + _inherit = 'product.template' + + + price_call = fields.Boolean(string="Call for Price", + help="This will hide the price and add to cart button" + "from shop and customer can request by" + "calling for price") + + def _get_combination_info(self, combination=False, product_id=False, add_qty=1.0,parent_combination=False, only_template=False,): + """To update the call for price value of the product to website.""" + # Call the parent method to get the initial combination_info + combination_info = super(ProductTemplate, + self)._get_combination_info( + combination=combination, product_id=product_id, + add_qty=add_qty,parent_combination=parent_combination, + only_template=only_template) + combination_info['price_call'] = self.price_call + return combination_info + + def _website_show_quick_add(self): + """ Hide the option to quick add cart in shop if price call is enabled""" + if self.price_call: + return False + else: + return super(ProductTemplate, self)._website_show_quick_add() + + def _search_render_results_prices(self, mapping, combination_info): + """ Hide price when the product is searched if the price call is enabled.""" + # Call the super method to get the original values + price, list_price = super(ProductTemplate, self)._search_render_results_prices(mapping, combination_info) + + if combination_info['price_call']: + price = 'Not Available For Sale' + # Return the modified values + return price, list_price diff --git a/call_for_price_website/security/ir.model.access.csv b/call_for_price_website/security/ir.model.access.csv new file mode 100644 index 000000000..e08989afe --- /dev/null +++ b/call_for_price_website/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_call_price,access_call_price,model_call_price,base.group_user,1,1,1,1 diff --git a/call_for_price_website/static/description/assets/icons/check.png b/call_for_price_website/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/check.png differ diff --git a/call_for_price_website/static/description/assets/icons/chevron.png b/call_for_price_website/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/chevron.png differ diff --git a/call_for_price_website/static/description/assets/icons/cogs.png b/call_for_price_website/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/cogs.png differ diff --git a/call_for_price_website/static/description/assets/icons/consultation.png b/call_for_price_website/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/consultation.png differ diff --git a/call_for_price_website/static/description/assets/icons/ecom-black.png b/call_for_price_website/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/ecom-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/education-black.png b/call_for_price_website/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/education-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/hotel-black.png b/call_for_price_website/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/hotel-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/license.png b/call_for_price_website/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/license.png differ diff --git a/call_for_price_website/static/description/assets/icons/lifebuoy.png b/call_for_price_website/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/lifebuoy.png differ diff --git a/call_for_price_website/static/description/assets/icons/manufacturing-black.png b/call_for_price_website/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/manufacturing-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/pos-black.png b/call_for_price_website/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/pos-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/puzzle.png b/call_for_price_website/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/puzzle.png differ diff --git a/call_for_price_website/static/description/assets/icons/restaurant-black.png b/call_for_price_website/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/restaurant-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/service-black.png b/call_for_price_website/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/service-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/trading-black.png b/call_for_price_website/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/trading-black.png differ diff --git a/call_for_price_website/static/description/assets/icons/training.png b/call_for_price_website/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/training.png differ diff --git a/call_for_price_website/static/description/assets/icons/update.png b/call_for_price_website/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/update.png differ diff --git a/call_for_price_website/static/description/assets/icons/user.png b/call_for_price_website/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/user.png differ diff --git a/call_for_price_website/static/description/assets/icons/wrench.png b/call_for_price_website/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/call_for_price_website/static/description/assets/icons/wrench.png differ diff --git a/call_for_price_website/static/description/assets/misc/categories.png b/call_for_price_website/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/categories.png differ diff --git a/call_for_price_website/static/description/assets/misc/check-box.png b/call_for_price_website/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/check-box.png differ diff --git a/call_for_price_website/static/description/assets/misc/compass.png b/call_for_price_website/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/compass.png differ diff --git a/call_for_price_website/static/description/assets/misc/corporate.png b/call_for_price_website/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/corporate.png differ diff --git a/call_for_price_website/static/description/assets/misc/customer-support.png b/call_for_price_website/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/customer-support.png differ diff --git a/call_for_price_website/static/description/assets/misc/cybrosys-logo.png b/call_for_price_website/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/cybrosys-logo.png differ diff --git a/call_for_price_website/static/description/assets/misc/features.png b/call_for_price_website/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/features.png differ diff --git a/call_for_price_website/static/description/assets/misc/logo.png b/call_for_price_website/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/logo.png differ diff --git a/call_for_price_website/static/description/assets/misc/pictures.png b/call_for_price_website/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/pictures.png differ diff --git a/call_for_price_website/static/description/assets/misc/pie-chart.png b/call_for_price_website/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/pie-chart.png differ diff --git a/call_for_price_website/static/description/assets/misc/right-arrow.png b/call_for_price_website/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/right-arrow.png differ diff --git a/call_for_price_website/static/description/assets/misc/star.png b/call_for_price_website/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/star.png differ diff --git a/call_for_price_website/static/description/assets/misc/support.png b/call_for_price_website/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/support.png differ diff --git a/call_for_price_website/static/description/assets/misc/whatsapp.png b/call_for_price_website/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/call_for_price_website/static/description/assets/misc/whatsapp.png differ diff --git a/call_for_price_website/static/description/assets/modules/1.jpg b/call_for_price_website/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..f3a24c620 Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/1.jpg differ diff --git a/call_for_price_website/static/description/assets/modules/2.jpg b/call_for_price_website/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..5d694c069 Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/2.jpg differ diff --git a/call_for_price_website/static/description/assets/modules/3.jpg b/call_for_price_website/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..9407e5e83 Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/3.jpg differ diff --git a/call_for_price_website/static/description/assets/modules/4.jpg b/call_for_price_website/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..3d3da7f16 Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/4.jpg differ diff --git a/call_for_price_website/static/description/assets/modules/5.jpg b/call_for_price_website/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..0e905cf14 Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/5.jpg differ diff --git a/call_for_price_website/static/description/assets/modules/6.jpg b/call_for_price_website/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..a7a3264ef Binary files /dev/null and b/call_for_price_website/static/description/assets/modules/6.jpg differ diff --git a/call_for_price_website/static/description/assets/screenshots/1.png b/call_for_price_website/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..f479f817c Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/1.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/10.png b/call_for_price_website/static/description/assets/screenshots/10.png new file mode 100644 index 000000000..fb8d88f25 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/10.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/2.png b/call_for_price_website/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..3a745f25c Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/2.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/3.png b/call_for_price_website/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..950f781b4 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/3.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/4.png b/call_for_price_website/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..abce68989 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/4.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/5.png b/call_for_price_website/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..f69dcc249 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/5.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/6.png b/call_for_price_website/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..7b29bc874 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/6.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/7.png b/call_for_price_website/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..9f5a73302 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/7.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/8.png b/call_for_price_website/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..84ca5a156 Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/8.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/9.png b/call_for_price_website/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..2df20fb3f Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/9.png differ diff --git a/call_for_price_website/static/description/assets/screenshots/hero.gif b/call_for_price_website/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..bf0ccc78e Binary files /dev/null and b/call_for_price_website/static/description/assets/screenshots/hero.gif differ diff --git a/call_for_price_website/static/description/banner.png b/call_for_price_website/static/description/banner.png new file mode 100644 index 000000000..bd1a82caa Binary files /dev/null and b/call_for_price_website/static/description/banner.png differ diff --git a/call_for_price_website/static/description/icon.png b/call_for_price_website/static/description/icon.png new file mode 100644 index 000000000..43dc58b19 Binary files /dev/null and b/call_for_price_website/static/description/icon.png differ diff --git a/call_for_price_website/static/description/index.html b/call_for_price_website/static/description/index.html new file mode 100644 index 000000000..3bd84a5e6 --- /dev/null +++ b/call_for_price_website/static/description/index.html @@ -0,0 +1,684 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ + + +

+ Website Call + for Price

+

+ Website Call for Price for + Products

+ + + +
+ + +
+
+ +
+

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview +

+
+
+
+ In certain situations, it becomes necessary to conceal the price of a + product or one of its variants. These instances may arise due to + various reasons such as customization, availability issues, or when + the product is offered for free. This module facilitates the hiding of + prices and the addition of a "Add to Cart" button for designated + products. The "Call for Price" option enables customers to send a + price inquiry to the merchant. +
+
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ + Hide products price. +
+
+ + Hide add to cart button. +
+
+ + Adds a button for price requests from merchants. +
+
+ + Track all requests from the backend. +
+
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+
+

+ Enable Call for Price + from the Product Sales tab

+

+ Go to Product form -> Sales -> + Enable Call for Price. After enabling this, the price and add to + cart button will hide from the website.

+ +
+ +
+

+ Hide product price from list of products

+ +
+ +
+

+ Wishlist page

+

+ Conceal the price and "Add to Cart" button on the wishlist page + for either the product.

+ +
+ +
+

+ Product Compare Page

+

+ If the user needs to compare the products, then they need to + request the price.

+ +
+ +
+

+ Call For Price Button

+

+ Hides the price and add to cart button from product item and + adds button for price request, on clicking a popup will + open.

+ +
+ +
+

+ Call For Price Request

+

+ User need to enter these details inorder to get the price of the + product. The request will send to merchant by clicking send + button.

+ +
+ +
+

+ Request Sent

+

+ After sending the request a success message will show there, and + merchant can access the request from backend.

+ +
+ +
+

+ The Backend View

+

+ Initially, a draft request is created; after merchant + verification, the sales team contacts the customer.

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

+ 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

+
+
+
+
+
+
+
+ +
+
+
+ diff --git a/call_for_price_website/static/src/js/variant.js b/call_for_price_website/static/src/js/variant.js new file mode 100644 index 000000000..28c322955 --- /dev/null +++ b/call_for_price_website/static/src/js/variant.js @@ -0,0 +1,24 @@ +/** @odoo-module **/ + +import VariantMixin from "@website_sale_stock/js/variant_mixin"; +const oldChangeCombinationStock = VariantMixin._onChangeCombinationStock; +/** + * Displays call for price button in the product form if call for price feature is enabled + * for the product. + * + * @override + */ +VariantMixin._onChangeCombinationStock = function (ev, $parent, combination) { + oldChangeCombinationStock.apply(this, arguments); + const addToCart = $parent.find('#add_to_cart_wrap'); + const contactUsButton = $parent.find('#contact_us_wrapper'); + const productPrice = $parent.find('.product_price'); + const quantity = $parent.find('.css_quantity'); + const product_unavailable = $parent.find('#product_unavailable'); + if (combination.price_call) { + productPrice.removeClass('d-inline-block').addClass('d-none'); + quantity.removeClass('d-inline-flex').addClass('d-none'); + addToCart.removeClass('d-inline-flex').addClass('d-none'); + product_unavailable.removeClass('d-none').addClass('d-flex') + } +}; diff --git a/call_for_price_website/views/call_for_price_views.xml b/call_for_price_website/views/call_for_price_views.xml new file mode 100644 index 000000000..84139c56f --- /dev/null +++ b/call_for_price_website/views/call_for_price_views.xml @@ -0,0 +1,60 @@ + + + + + call.price.view.tree + call.price + + + + + + + + + + + + + call.price.view.form + call.price + +
+
+
+ + + + + + + + + + + + + + + +
+
+
+ + + Call For Price + call.price + tree,form + + + + +
diff --git a/call_for_price_website/views/custom_templates.xml b/call_for_price_website/views/custom_templates.xml new file mode 100644 index 000000000..da6f13ac5 --- /dev/null +++ b/call_for_price_website/views/custom_templates.xml @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/call_for_price_website/views/product_template_views.xml b/call_for_price_website/views/product_template_views.xml new file mode 100644 index 000000000..e31b7e9b7 --- /dev/null +++ b/call_for_price_website/views/product_template_views.xml @@ -0,0 +1,14 @@ + + + + + product.template.call.for.price + product.template + + + + + + + +