diff --git a/website_product_stock_information/README.rst b/website_product_stock_information/README.rst new file mode 100644 index 000000000..1a8837264 --- /dev/null +++ b/website_product_stock_information/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Website Product Stock +===================== +Helps to display the stock details of each product on the website. +It includes options to show product stock information conditionally based on predefined location types and stock types. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +Affero General Public License v3.0 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + + +Credits +------- +Developer: (V17) Fouzan M @cybrosys, Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/website_product_stock_information/__init__.py b/website_product_stock_information/__init__.py new file mode 100644 index 000000000..80be3662a --- /dev/null +++ b/website_product_stock_information/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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/website_product_stock_information/__manifest__.py b/website_product_stock_information/__manifest__.py new file mode 100644 index 000000000..3ebac6bc2 --- /dev/null +++ b/website_product_stock_information/__manifest__.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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 Product Stock", + 'version': '17.0.1.0.0', + 'category': 'Website', + 'summary': 'Allows users to see stock details of products from the website', + 'description': """Helps to display the stock details of each product on + the website. It includes options to show product stock information + conditionally based on predefined location types and stock types.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'website', 'website_sale_stock'], + 'data': [ + 'views/product_stock_information_snippet.xml', + 'views/product_template_views.xml', + 'views/res_config_settings_views.xml', + ], + 'assets': { + 'web.assets_frontend': [ + 'website_product_stock_information/static/src/xml/' + 'website_product_stock_information_templates.xml', + ], + }, + 'images': ['static/description/banner.jpg'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/website_product_stock_information/controllers/__init__.py b/website_product_stock_information/controllers/__init__.py new file mode 100644 index 000000000..d6417e826 --- /dev/null +++ b/website_product_stock_information/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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 website_sale diff --git a/website_product_stock_information/controllers/website_sale.py b/website_product_stock_information/controllers/website_sale.py new file mode 100644 index 000000000..91d3f5b42 --- /dev/null +++ b/website_product_stock_information/controllers/website_sale.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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 +from odoo.addons.website_sale.controllers.main import WebsiteSale + + +class WebsiteSale(WebsiteSale): + """to pass stock details to shop page""" + + @http.route() + def shop(self, **post): + """To include stock values during rendering of the shop page.""" + result = super().shop(**post) + result.qcontext['stocks'] = {product: self.get_stock_info(product) for + product in result.qcontext['products']} + return request.render("website_sale.products", result.qcontext) + + def get_stock_info(self, product): + """function to get stock details""" + combination_info = product.sudo()._get_combination_info() + return combination_info['stock'] if product.detailed_type == 'product' \ + else False diff --git a/website_product_stock_information/doc/RELEASE_NOTES.md b/website_product_stock_information/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..88e6d1b8e --- /dev/null +++ b/website_product_stock_information/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 24.11.2023 +#### Version 17.0.1.0.0 +#### ADD +- Initial commit for Website Product Stock \ No newline at end of file diff --git a/website_product_stock_information/models/__init__.py b/website_product_stock_information/models/__init__.py new file mode 100644 index 000000000..ad16800b0 --- /dev/null +++ b/website_product_stock_information/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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 product_template +from . import res_config_settings diff --git a/website_product_stock_information/models/product_template.py b/website_product_stock_information/models/product_template.py new file mode 100644 index 000000000..22e150360 --- /dev/null +++ b/website_product_stock_information/models/product_template.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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): + """To inherit location and stock selection fields to product template""" + _inherit = 'product.template' + + location_type = fields.Selection(selection=[('all', 'All'), + ('specific', 'Specific')], + help="Choose stock for a specific location" + " or all locations.") + stock_location_id = fields.Many2one('stock.location', + string='Stock Location', + help='Choose a specific location') + stock_type = fields.Selection(selection=[('on_hand', 'On Hand Quantity'), + ('forecast', 'Forecasted Quantity') + ], help='Choose Stock type') + + def _get_combination_info(self, combination=False, product_id=False, + add_qty=1, parent_combination=False, + only_template=False): + """to add stock details and calculate stock details to product page""" + combination_info = super()._get_combination_info(product_id=product_id, + combination=combination, add_qty=add_qty, + parent_combination=parent_combination, only_template=only_template) + product = self.env['product.product'].sudo().browse( + combination_info['product_id']) + if self.location_type == 'specific': + if 'free_qty' in combination_info: + incoming_domain = [ + ('product_id', '=', combination_info['product_id']), + ('location_dest_id', '=', self.stock_location_id.id)] + outgoing_domain = [ + ('product_id', '=', combination_info['product_id']), + ('location_id', '=', self.stock_location_id.id)] + if product.stock_type == 'on_hand': + incoming_domain.append(('state', '=', 'done')) + outgoing_domain.append(('state', '=', 'done')) + else: + incoming_domain = [ + ('product_tmpl_id', '=', + combination_info['product_template_id']), + ('location_dest_id', '=', self.stock_location_id.id)] + outgoing_domain = [ + ('product_tmpl_id', '=', + combination_info['product_template_id']), + ('location_id', '=', self.stock_location_id.id)] + if self.stock_type == 'on_hand': + incoming_domain.append(('state', '=', 'done')) + outgoing_domain.append(('state', '=', 'done')) + incoming_stock = self.env['stock.move'].sudo().search( + incoming_domain) + outgoing_stock = self.env['stock.move'].sudo().search( + outgoing_domain) + incoming_quant = sum(incoming.product_uom_qty for incoming + in incoming_stock) + outgoing_quant = sum(outgoing.product_uom_qty for outgoing + in outgoing_stock) + combination_info['free_qty'] = incoming_quant - outgoing_quant + else: + if 'free_qty' in combination_info: + combination_info['free_qty'] = product.virtual_available if \ + product.stock_type == 'forecast' else product.qty_available + else: + combination_info['free_qty'] = self.sudo().virtual_available if\ + self.stock_type == 'forecast' else self.sudo().qty_available + combination_info['stock'] = 'out_of_stock' if not \ + combination_info['free_qty'] else 'in_stock' + return combination_info diff --git a/website_product_stock_information/models/res_config_settings.py b/website_product_stock_information/models/res_config_settings.py new file mode 100644 index 000000000..805ff107c --- /dev/null +++ b/website_product_stock_information/models/res_config_settings.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies(). +# Author: Fouzan 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 ResConfigSettings(models.TransientModel): + """To add fields for selecting location and stock type for stock details + in website""" + _inherit = 'res.config.settings' + + location_type = fields.Selection(selection=[('all', 'All'), + ('specific', 'Specific')], + help="Choose stock for a specific location" + " or all locations.") + stock_location_id = fields.Many2one('stock.location', + string='Stock Location', + help='Choose a specific location') + stock_type = fields.Selection(selection=[('on_hand', 'On Hand Quantity'), + ('forecast', 'Forecasted Quantity') + ], help='Choose Stock type') + + def set_values(self): + """to set values as default values of product when creating.""" + super().set_values() + IrDefault = self.env['ir.default'].sudo() + IrDefault.set('product.template', 'location_type', + self.location_type) + IrDefault.set('product.template', 'stock_location_id', + self.stock_location_id.id or + self.env.ref('stock.stock_location_stock')) + IrDefault.set('product.template', 'stock_type', + self.stock_type) + + @api.model + def get_values(self): + """to get values in settings""" + res = super().get_values() + IrDefault = self.env['ir.default'].sudo() + res.update( + location_type=IrDefault._get_model_defaults('product.template', + 'location_type') or 'all', + stock_location_id=IrDefault._get_model_defaults('product.template', + 'stock_location_id') or + self.env.ref('stock.stock_location_stock'), + stock_type=IrDefault._get_model_defaults('product.template', + 'stock_type') or 'on_hand') + return res diff --git a/website_product_stock_information/static/description/assets/icons/check.png b/website_product_stock_information/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/check.png differ diff --git a/website_product_stock_information/static/description/assets/icons/chevron.png b/website_product_stock_information/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/chevron.png differ diff --git a/website_product_stock_information/static/description/assets/icons/cogs.png b/website_product_stock_information/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/cogs.png differ diff --git a/website_product_stock_information/static/description/assets/icons/consultation.png b/website_product_stock_information/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/consultation.png differ diff --git a/website_product_stock_information/static/description/assets/icons/ecom-black.png b/website_product_stock_information/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/ecom-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/education-black.png b/website_product_stock_information/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/education-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/hotel-black.png b/website_product_stock_information/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/hotel-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/license.png b/website_product_stock_information/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/license.png differ diff --git a/website_product_stock_information/static/description/assets/icons/lifebuoy.png b/website_product_stock_information/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/lifebuoy.png differ diff --git a/website_product_stock_information/static/description/assets/icons/manufacturing-black.png b/website_product_stock_information/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/manufacturing-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/pos-black.png b/website_product_stock_information/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/pos-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/puzzle.png b/website_product_stock_information/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/puzzle.png differ diff --git a/website_product_stock_information/static/description/assets/icons/restaurant-black.png b/website_product_stock_information/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/restaurant-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/service-black.png b/website_product_stock_information/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/service-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/trading-black.png b/website_product_stock_information/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/trading-black.png differ diff --git a/website_product_stock_information/static/description/assets/icons/training.png b/website_product_stock_information/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/training.png differ diff --git a/website_product_stock_information/static/description/assets/icons/update.png b/website_product_stock_information/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/update.png differ diff --git a/website_product_stock_information/static/description/assets/icons/user.png b/website_product_stock_information/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/user.png differ diff --git a/website_product_stock_information/static/description/assets/icons/wrench.png b/website_product_stock_information/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/website_product_stock_information/static/description/assets/icons/wrench.png differ diff --git a/website_product_stock_information/static/description/assets/misc/Cybrosys R.png b/website_product_stock_information/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/Cybrosys R.png differ diff --git a/website_product_stock_information/static/description/assets/misc/email.svg b/website_product_stock_information/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/phone.svg b/website_product_stock_information/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/website_product_stock_information/static/description/assets/misc/star (1) 2.svg b/website_product_stock_information/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/support (1) 1.svg b/website_product_stock_information/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/support-email.svg b/website_product_stock_information/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/tick-mark.svg b/website_product_stock_information/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/whatsapp 1.svg b/website_product_stock_information/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/misc/whatsapp.svg b/website_product_stock_information/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/website_product_stock_information/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/website_product_stock_information/static/description/assets/modules/1.gif b/website_product_stock_information/static/description/assets/modules/1.gif new file mode 100644 index 000000000..ae3a880a2 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/1.gif differ diff --git a/website_product_stock_information/static/description/assets/modules/2.jpg b/website_product_stock_information/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..a094e97b6 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/2.jpg differ diff --git a/website_product_stock_information/static/description/assets/modules/3.jpg b/website_product_stock_information/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..f85e160cd Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/3.jpg differ diff --git a/website_product_stock_information/static/description/assets/modules/4.jpg b/website_product_stock_information/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..7995b26b9 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/4.jpg differ diff --git a/website_product_stock_information/static/description/assets/modules/5.png b/website_product_stock_information/static/description/assets/modules/5.png new file mode 100644 index 000000000..ba91094e4 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/5.png differ diff --git a/website_product_stock_information/static/description/assets/modules/6.jpg b/website_product_stock_information/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..31f2bc9f5 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/6.jpg differ diff --git a/website_product_stock_information/static/description/assets/screenshots/1.png b/website_product_stock_information/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..d90c37179 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/1.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/10.png b/website_product_stock_information/static/description/assets/screenshots/10.png new file mode 100644 index 000000000..644f61fde Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/10.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/11.png b/website_product_stock_information/static/description/assets/screenshots/11.png new file mode 100644 index 000000000..3c3d2864b Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/11.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/2.png b/website_product_stock_information/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..c72536e20 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/2.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/3.png b/website_product_stock_information/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..42646c9e7 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/3.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/4.png b/website_product_stock_information/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..d13fbcd82 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/4.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/5.png b/website_product_stock_information/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..5a098942d Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/5.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/6.png b/website_product_stock_information/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..0f70477e0 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/6.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/7.png b/website_product_stock_information/static/description/assets/screenshots/7.png new file mode 100644 index 000000000..bff618bb4 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/7.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/8.png b/website_product_stock_information/static/description/assets/screenshots/8.png new file mode 100644 index 000000000..f89a8d581 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/8.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/9.png b/website_product_stock_information/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..a9271709c Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/9.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/hero.gif b/website_product_stock_information/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..e6cf75d0f Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/hero.gif differ diff --git a/website_product_stock_information/static/description/banner.jpg b/website_product_stock_information/static/description/banner.jpg new file mode 100644 index 000000000..b8c3a22d0 Binary files /dev/null and b/website_product_stock_information/static/description/banner.jpg differ diff --git a/website_product_stock_information/static/description/cybro_logo.png b/website_product_stock_information/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/website_product_stock_information/static/description/cybro_logo.png differ diff --git a/website_product_stock_information/static/description/icon.png b/website_product_stock_information/static/description/icon.png new file mode 100644 index 000000000..9d0f66a34 Binary files /dev/null and b/website_product_stock_information/static/description/icon.png differ diff --git a/website_product_stock_information/static/description/index.html b/website_product_stock_information/static/description/index.html new file mode 100644 index 000000000..2c7c0e9eb --- /dev/null +++ b/website_product_stock_information/static/description/index.html @@ -0,0 +1,812 @@ + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+
+
+
+

+ Website Product Stock +

+

+ Setting Product Stock Information on the Website. +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Stock Information on Shop page. +

+

+ Here we can get product availability if the 'Product Stock Info' option is enabled. +

+
+
+
+
+
+
+ +
+
+

+ Stock Information on Product page.

+

+ Here we can get product stock information on Website based on the options. +

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

+ Enabling 'Show Available Qty' allows you to view the options. +

+
+
+
+
+
+
+ +
+
+

+ Here, you can select the location type from two options: 'All' or 'Specific'. + Additionally, there is an option to choose the stock type, which also offers two selections: 'On-Hand' and 'Forecast'. +

+
+
+
+
+
+
+ +
+
+

+ Select "On-hand" as the stock type, then look over the quantities that are currently on hand and also set 'Show available Qty'. +

+
+
+
+
+
+
+ +
+
+

+ Now, you can observe a Remaining Stock label if the available stock is less than the quantity set in 'Show Available Qty.' +

+
+
+
+
+
+
+ +
+
+

+ Select "Forecast" as the stock type, then look over the forecast quantities and also set 'Show available Qty' then disable the 'Continue Selling' option to view Out of Stock label. +

+
+
+
+
+
+
+ +
+
+

+ Now, you can observe Out of Stock label if there is no available stock. +

+
+
+
+
+
+
+ +
+
+

+ After choosing 'Specific' as the Location Type, a new field will appear, allowing you to select a specific location. +

+
+
+
+
+
+
+ +
+
+

+ Here, you can view the stock details for the selected location. +

+
+
+
+
+
+
+ +
+
+

+ Now, you can see the remaining stock for the selected location in a label if the available stock is less than the quantity set in 'Show Available Qty. +

+
+
+
+
+
+
+ +
+
+

+ Here, you can find the option to enable or disable the product stock label on the shop page. +

+
+
+
+
+
+
+ +
+
+

+ After enabling the option, you will see the 'Stock Details' label on each storable product. +

+
+
+
+
+
+
+
    +
  • + Here we have to set a limit for purchases. +
  • +
  • + The customer cannot purchase below the purchase limit. +
  • +
  • + Get the error popup if the total amount is less than the purchase limit +
      +
    • +
    • +
    +
  • + +
+
+
+
+
+
+
Version + 17.0.1.0.0| + Released on: 16th March 2024 +
+

+ Initial Commit for Website Product Stock Information. +

+
+
+
+
+
+
+
+

+ Related Products

+
+
+ +
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

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 + 99456767686 +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/website_product_stock_information/static/src/xml/website_product_stock_information_templates.xml b/website_product_stock_information/static/src/xml/website_product_stock_information_templates.xml new file mode 100644 index 000000000..db16916b3 --- /dev/null +++ b/website_product_stock_information/static/src/xml/website_product_stock_information_templates.xml @@ -0,0 +1,14 @@ + + + + + + +
+ + Out of Stock +
+
+
+
+
\ No newline at end of file diff --git a/website_product_stock_information/views/product_stock_information_snippet.xml b/website_product_stock_information/views/product_stock_information_snippet.xml new file mode 100644 index 000000000..169cc48e6 --- /dev/null +++ b/website_product_stock_information/views/product_stock_information_snippet.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/website_product_stock_information/views/product_template_views.xml b/website_product_stock_information/views/product_template_views.xml new file mode 100644 index 000000000..8dece8005 --- /dev/null +++ b/website_product_stock_information/views/product_template_views.xml @@ -0,0 +1,22 @@ + + + + + product.template.view.form.website.product.stock.information + product.template + + + + + + + + + + \ No newline at end of file diff --git a/website_product_stock_information/views/res_config_settings_views.xml b/website_product_stock_information/views/res_config_settings_views.xml new file mode 100644 index 000000000..30e444e1b --- /dev/null +++ b/website_product_stock_information/views/res_config_settings_views.xml @@ -0,0 +1,46 @@ + + + + + res.config.settings.view.form.website.product.stock.information + res.config.settings + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file