diff --git a/website_product_stock_information/README.rst b/website_product_stock_information/README.rst new file mode 100644 index 000000000..1c827846d --- /dev/null +++ b/website_product_stock_information/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Website Product Stock +======================= +This module 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 + +License +------- +Affero General Public License, Version 3 (AGPL v3) +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developers: (V16) Fouzan M, + (V15) Aysha Shalin, + 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..019a5010e --- /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: Aysha Shalin (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..ad551f806 --- /dev/null +++ b/website_product_stock_information/__manifest__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (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': '15.0.1.0.0', + 'summary': 'Allows users to see stock details of products from the website.', + 'description': """This module helps to display the stock details of products + on website. It includes options to show product stock information + conditionally based on predefined location types and stock types.""", + 'category': 'Website', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base', 'website', 'website_sale', '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.png'], + '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..7af457bec --- /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: Aysha Shalin (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..2ee038b81 --- /dev/null +++ b/website_product_stock_information/controllers/website_sale.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (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.http_routing.models.ir_http import slug +from odoo.addons.website_sale.controllers.main import WebsiteSale +from odoo.addons.website.models.ir_http import sitemap_qs2dom + + +class WebsiteSale(WebsiteSale): + """ To pass stock details to shop page """ + def sitemap_shop(env, rule, qs): + if not qs or qs.lower() in '/shop': + yield {'loc': '/shop'} + + Category = env['product.public.category'] + dom = sitemap_qs2dom(qs, '/shop/category', Category._rec_name) + dom += env['website'].get_current_website().website_domain() + for cat in Category.search(dom): + loc = '/shop/category/%s' % slug(cat) + if not qs or qs.lower() in loc: + yield {'loc': loc} + + @http.route([ + '''/shop''', + '''/shop/page/''', + '''/shop/category/''', + '''/shop/category//page/''' + ], type='http', auth="public", website=True, sitemap=sitemap_shop) + 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..75f7e95e7 --- /dev/null +++ b/website_product_stock_information/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 04.06.2024 +#### Version 15.0.1.0.0 +##### ADD +- Initial commit for Website Product Stock diff --git a/website_product_stock_information/models/__init__.py b/website_product_stock_information/models/__init__.py new file mode 100644 index 000000000..d747c1efa --- /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: Aysha Shalin (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..8b06b3ce1 --- /dev/null +++ b/website_product_stock_information/models/product_template.py @@ -0,0 +1,92 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Aysha Shalin (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.", default='all') + 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', + default='on_hand') + + def _get_combination_info(self, combination=False, product_id=False, + add_qty=1, pricelist=False, + parent_combination=False, only_template=False): + """ To add stock details and displays stock details to product page """ + combination_info = super()._get_combination_info(product_id=product_id, + combination=combination, add_qty=add_qty, + pricelist=pricelist, only_template=only_template, + parent_combination=parent_combination) + 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..1316942a8 --- /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: Aysha Shalin (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 default 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('product.template', + 'location_type') or 'all', + stock_location_id=IrDefault.get('product.template', + 'stock_location_id') or + self.env.ref('stock.stock_location_stock'), + stock_type=IrDefault.get('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/categories.png b/website_product_stock_information/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/categories.png differ diff --git a/website_product_stock_information/static/description/assets/misc/check-box.png b/website_product_stock_information/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/check-box.png differ diff --git a/website_product_stock_information/static/description/assets/misc/compass.png b/website_product_stock_information/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/compass.png differ diff --git a/website_product_stock_information/static/description/assets/misc/corporate.png b/website_product_stock_information/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/corporate.png differ diff --git a/website_product_stock_information/static/description/assets/misc/customer-support.png b/website_product_stock_information/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/customer-support.png differ diff --git a/website_product_stock_information/static/description/assets/misc/cybrosys-logo.png b/website_product_stock_information/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/cybrosys-logo.png differ diff --git a/website_product_stock_information/static/description/assets/misc/features.png b/website_product_stock_information/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/features.png differ diff --git a/website_product_stock_information/static/description/assets/misc/logo.png b/website_product_stock_information/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/logo.png differ diff --git a/website_product_stock_information/static/description/assets/misc/pictures.png b/website_product_stock_information/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/pictures.png differ diff --git a/website_product_stock_information/static/description/assets/misc/pie-chart.png b/website_product_stock_information/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/pie-chart.png differ diff --git a/website_product_stock_information/static/description/assets/misc/right-arrow.png b/website_product_stock_information/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/right-arrow.png differ diff --git a/website_product_stock_information/static/description/assets/misc/star.png b/website_product_stock_information/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/star.png differ diff --git a/website_product_stock_information/static/description/assets/misc/support.png b/website_product_stock_information/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/support.png differ diff --git a/website_product_stock_information/static/description/assets/misc/whatsapp.png b/website_product_stock_information/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/website_product_stock_information/static/description/assets/misc/whatsapp.png differ diff --git a/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk.png b/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk.png new file mode 100644 index 000000000..71a8a0edc Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk.png differ diff --git a/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk_dashboard.png b/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk_dashboard.png new file mode 100644 index 000000000..52b3f0233 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/odoo_website_helpdesk_dashboard.png differ diff --git a/website_product_stock_information/static/description/assets/modules/product_visibility_website.png b/website_product_stock_information/static/description/assets/modules/product_visibility_website.png new file mode 100644 index 000000000..22e902092 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/product_visibility_website.png differ diff --git a/website_product_stock_information/static/description/assets/modules/website_multi_product_return_management.png b/website_product_stock_information/static/description/assets/modules/website_multi_product_return_management.png new file mode 100644 index 000000000..9bd504b22 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/website_multi_product_return_management.png differ diff --git a/website_product_stock_information/static/description/assets/modules/website_product_attachments.png b/website_product_stock_information/static/description/assets/modules/website_product_attachments.png new file mode 100644 index 000000000..ea1f49f20 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/website_product_attachments.png differ diff --git a/website_product_stock_information/static/description/assets/modules/website_return_management.png b/website_product_stock_information/static/description/assets/modules/website_return_management.png new file mode 100644 index 000000000..c43739627 Binary files /dev/null and b/website_product_stock_information/static/description/assets/modules/website_return_management.png 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..e18d44b43 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..66bcd0bde 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..277b42766 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/12.png b/website_product_stock_information/static/description/assets/screenshots/12.png new file mode 100644 index 000000000..4a3d5d3c7 Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/12.png differ diff --git a/website_product_stock_information/static/description/assets/screenshots/13.png b/website_product_stock_information/static/description/assets/screenshots/13.png new file mode 100644 index 000000000..d7778ac5c Binary files /dev/null and b/website_product_stock_information/static/description/assets/screenshots/13.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..7cbe3f2a7 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..51f501069 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..bec41436b 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..fa9d7db50 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..f2929324d 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..c5e5ffa1e 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/9.png b/website_product_stock_information/static/description/assets/screenshots/9.png new file mode 100644 index 000000000..a9e69ecc2 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..a77e4c29a 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.png b/website_product_stock_information/static/description/banner.png new file mode 100644 index 000000000..32b4918c7 Binary files /dev/null and b/website_product_stock_information/static/description/banner.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..3cd8f42b5 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..57f6f3885 --- /dev/null +++ b/website_product_stock_information/static/description/index.html @@ -0,0 +1,716 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ + + +

Website Product Stock

+

This module helps to display the stock details of products on website

+ + +
+ + +
+
+ +
+

Explore This + Module

+
+ + + + +
+
+ +
+

Overview +

+
+
+
+ This module displays the stock details of product on website. It + includes options to display product stock information conditionally + based on predefined location type and stock type. +
+
+ + + +
+
+ +
+

Features +

+
+
+
+
+ + + Community & Enterprise Support + +
+
+ + + Display product stock details on the website. + +
+
+ + + Get Stock information on shop page. + +
+
+ + + Option to get all stock or stock in a specific location. + +
+
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+ +
+

Option to set the default 'Product Stock Information' for new products.

+

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

+ +
+ +
+

Option to select 'Location type' and 'Stock type'

+

+ 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'. +

+ +
+ +
+

+ Selecting 'All' for Location Type and 'On-Hand' for Stock Type. +

+

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

+ +
+ +
+

+ Details of On-Hand Stock Availability +

+

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

+ +
+ +
+

+ Selecting 'All' for Location Type and 'Forecast' for Stock Type. +

+

+ Select "Forecast" as the stock type, then look over the forecast quantities and also set 'Show available Qty'. +

+ +
+ +
+

+ Details of Forecast Stock Availability +

+

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

+ +
+ +
+

+ Selecting 'Specific' for Location Type. +

+

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

+ +
+ +
+

+ Stock details of 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. +

+ +
+ +
+

+ Details of Out of Stock +

+

+ Here, you can disable the 'Continue Selling' option and choose the Location and Stock Type. +

+ +
+ +
+

+ Stock details of Out of Stock products +

+

+ Here, you can see the 'Out of Stock' label if there is no product stock. +

+ +
+ +
+

+ Snippet option for Product Stock Details +

+

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

+ +
+ +
+

+ Enabling the Products Stock Info Option +

+

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

+ +
+
+
+ + + +
+
+

Related Modules

+

Explore our related modules

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

+ 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/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..d32b6f4ce --- /dev/null +++ b/website_product_stock_information/static/src/xml/website_product_stock_information_templates.xml @@ -0,0 +1,14 @@ + + + + + + +
+ + Out of Stock +
+
+
+
+
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..4c450e0fe --- /dev/null +++ b/website_product_stock_information/views/product_stock_information_snippet.xml @@ -0,0 +1,24 @@ + + + + + + + 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..2557517fc --- /dev/null +++ b/website_product_stock_information/views/product_template_views.xml @@ -0,0 +1,16 @@ + + + + + product.template.view.form.website.product.stock.information + product.template + + + + + + + + + + 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..45eb50d66 --- /dev/null +++ b/website_product_stock_information/views/res_config_settings_views.xml @@ -0,0 +1,43 @@ + + + + + res.config.settings.view.form.website.product.stock.information + res.config.settings + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+