@ -0,0 +1,47 @@ | 
				
			|||
.. 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 | 
				
			|||
======================= | 
				
			|||
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 <https://cybrosys.com/>`__ | 
				
			|||
 | 
				
			|||
License | 
				
			|||
------- | 
				
			|||
Affero General Public License v3.0 (AGPL v3) | 
				
			|||
(https://www.gnu.org/licenses/agpl-3.0-standalone.html) | 
				
			|||
 | 
				
			|||
Credits | 
				
			|||
------- | 
				
			|||
Developer: (V16) 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 <https://cybrosys.com/>`__ | 
				
			|||
 | 
				
			|||
Further information | 
				
			|||
=================== | 
				
			|||
HTML Description: `<static/description/index.html>`__ | 
				
			|||
@ -0,0 +1,23 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
from . import controller | 
				
			|||
from . import models | 
				
			|||
@ -0,0 +1,51 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
{ | 
				
			|||
    'name': "Website Product Stock", | 
				
			|||
    'version': '16.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', 'website_sale_stock'], | 
				
			|||
    'data': [ | 
				
			|||
        'views/product_template_views.xml', | 
				
			|||
        'views/product_stock_information_snippet.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, | 
				
			|||
} | 
				
			|||
@ -0,0 +1,22 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
from . import website_sale | 
				
			|||
@ -0,0 +1,42 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
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 | 
				
			|||
@ -0,0 +1,6 @@ | 
				
			|||
## Module <website_product_stock_information> | 
				
			|||
 | 
				
			|||
#### 23.11.2023 | 
				
			|||
#### Version 16.0.1.0.0 | 
				
			|||
#### ADD | 
				
			|||
- Initial commit for Website Product Stock | 
				
			|||
@ -0,0 +1,23 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
from . import product_template | 
				
			|||
from . import res_config_settings | 
				
			|||
@ -0,0 +1,92 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
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 calculate 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 | 
				
			|||
@ -0,0 +1,66 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
################################################################################ | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    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 <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
################################################################################ | 
				
			|||
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('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 | 
				
			|||
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 4.4 KiB  | 
| 
		 After Width: | Height: | Size: 589 B  | 
| 
		 After Width: | Height: | Size: 3.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 967 B  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 83 KiB  | 
| 
		 After Width: | Height: | Size: 92 KiB  | 
| 
		 After Width: | Height: | Size: 103 KiB  | 
| 
		 After Width: | Height: | Size: 106 KiB  | 
| 
		 After Width: | Height: | Size: 76 KiB  | 
| 
		 After Width: | Height: | Size: 96 KiB  | 
| 
		 After Width: | Height: | Size: 380 KiB  | 
| 
		 After Width: | Height: | Size: 142 KiB  | 
| 
		 After Width: | Height: | Size: 165 KiB  | 
| 
		 After Width: | Height: | Size: 158 KiB  | 
| 
		 After Width: | Height: | Size: 330 KiB  | 
| 
		 After Width: | Height: | Size: 338 KiB  | 
| 
		 After Width: | Height: | Size: 144 KiB  | 
| 
		 After Width: | Height: | Size: 151 KiB  | 
| 
		 After Width: | Height: | Size: 154 KiB  | 
| 
		 After Width: | Height: | Size: 151 KiB  | 
| 
		 After Width: | Height: | Size: 157 KiB  | 
| 
		 After Width: | Height: | Size: 158 KiB  | 
| 
		 After Width: | Height: | Size: 77 KiB  | 
| 
		 After Width: | Height: | Size: 154 KiB  | 
| 
		 After Width: | Height: | Size: 69 KiB  | 
| 
		 After Width: | Height: | Size: 50 KiB  | 
| 
		 After Width: | Height: | Size: 12 KiB  | 
@ -0,0 +1,727 @@ | 
				
			|||
<div style="background-color: #714B67; min-height: 600px; width: 100%; padding: 15px; position: relative;"> | 
				
			|||
    <!-- TITLE BAR --> | 
				
			|||
    <div | 
				
			|||
            style="border-bottom: 1px solid #875A7B; padding: 15px; display: flex; justify-content: space-between; align-items: center;"> | 
				
			|||
        <img src="assets/misc/cybrosys-logo.png" width="42" height="42" style="width: 42px; height: 42px;"/> | 
				
			|||
        <div> | 
				
			|||
            <div style="color: #7C7BAD; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;" | 
				
			|||
                 class="mr-2"> | 
				
			|||
                <i class="fa fa-check mr-1"></i>Community | 
				
			|||
            </div> | 
				
			|||
            <div style="color: #875A7B; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;" | 
				
			|||
                 class="mr-2"> | 
				
			|||
                <i class="fa fa-check mr-1"></i>Enterprise | 
				
			|||
            </div> | 
				
			|||
            <div style="color: #017E84; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: bold; background-color: white; display: inline-block; padding: 3px 10px; border-radius: 50px;" | 
				
			|||
                 class="mr-2"> | 
				
			|||
                <i class="fa fa-check mr-1"></i>Odoo.sh | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
    <!-- END OF TITLE BAR --> | 
				
			|||
 | 
				
			|||
    <!-- APP HERO --> | 
				
			|||
    <h1 style="color: #FFFFFF; font-weight: bolder; font-size: 50px; text-align: center; margin-top: 50px;">Website Product Stock</h1> | 
				
			|||
    <p style="color:#FFFFFF; padding: 8px 15px; text-align: center; font-size: 24px;">Allows Users To See Stock Details Of Products From The Website</p> | 
				
			|||
    <!-- END OF APP HERO --> | 
				
			|||
    <img src="assets/screenshots/hero.gif" | 
				
			|||
         style="width: 75%; height: auto; position: absolute; margin-left: auto; margin-right: auto; top: 45%; left: 12%; right: auto;"/> | 
				
			|||
 | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<!-- NAVIGATION SECTION --> | 
				
			|||
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px; margin-top: 300px;"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/compass.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Explore This | 
				
			|||
        Module</h2> | 
				
			|||
</div> | 
				
			|||
<div class="row my-4" style="font-family: 'Montserrat', sans-serif;"> | 
				
			|||
    <div class="col-sm-12 col-md-6 my-3"> | 
				
			|||
        <a href="#overview"> | 
				
			|||
            <div class="d-flex justify-content-between align-items-center" | 
				
			|||
                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			|||
                <div> | 
				
			|||
                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Overview</span> | 
				
			|||
                    <span | 
				
			|||
                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">Learn | 
				
			|||
                        more about this | 
				
			|||
                        module</span> | 
				
			|||
                </div> | 
				
			|||
                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			|||
            </div> | 
				
			|||
        </a> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-sm-12 col-md-6 my-3"> | 
				
			|||
        <a href="#features"> | 
				
			|||
            <div class="d-flex justify-content-between align-items-center" | 
				
			|||
                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			|||
                <div> | 
				
			|||
                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Features</span> | 
				
			|||
                    <span | 
				
			|||
                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">View | 
				
			|||
                        features of this | 
				
			|||
                        module</span> | 
				
			|||
                </div> | 
				
			|||
                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			|||
            </div> | 
				
			|||
        </a> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-sm-12 col-md-6 my-3"> | 
				
			|||
        <a href="#screenshots"> | 
				
			|||
            <div class="d-flex justify-content-between align-items-center" | 
				
			|||
                 style="background-color: #f5f5f5; padding: 30px; width: 100%;"> | 
				
			|||
                <div> | 
				
			|||
                    <span style="color: #714B67; font-size: 24px; font-weight: 500; display: block;">Screenshots</span> | 
				
			|||
                    <span | 
				
			|||
                            style="color: #714B67; font-size: 16px; font-weight: 400; color:#282F33;  display: block;">View | 
				
			|||
                        screenshots for this | 
				
			|||
                        module</span> | 
				
			|||
                </div> | 
				
			|||
                <img src="assets/misc/right-arrow.png" width="36" height="36"/> | 
				
			|||
            </div> | 
				
			|||
        </a> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF NAVIGATION SECTION --> | 
				
			|||
 | 
				
			|||
<!-- OVERVIEW SECTION --> | 
				
			|||
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="overview"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/pie-chart.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Overview | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
<div class="row" style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;"> | 
				
			|||
    <div class="col-sm-12 py-4"> | 
				
			|||
        This module assists in displaying 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. | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF OVERVIEW SECTION --> | 
				
			|||
 | 
				
			|||
<!-- FEATURES SECTION --> | 
				
			|||
<div class="d-flex align-items-center" style="border-bottom: 2px solid #714B67; padding: 15px 0px;" id="features"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/features.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;">Features | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
<div class="row" | 
				
			|||
     style="font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 14px; line-height: 200%;"> | 
				
			|||
    <div class="col-sm-12 col-md-6"> | 
				
			|||
        <div class="d-flex align-items-center" | 
				
			|||
             style="margin-top: 40px; margin-bottom: 40px"> | 
				
			|||
            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			|||
            <span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Community & Enterprise Support | 
				
			|||
            </span> | 
				
			|||
        </div> | 
				
			|||
        <div class="d-flex align-items-center" | 
				
			|||
             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			|||
            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			|||
            <span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Display product stock details on the website.. | 
				
			|||
            </span> | 
				
			|||
        </div> | 
				
			|||
        <div class="d-flex align-items-center" | 
				
			|||
             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			|||
            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			|||
            <span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Get Stock information on shop page. | 
				
			|||
            </span> | 
				
			|||
        </div> | 
				
			|||
        <div class="d-flex align-items-center" | 
				
			|||
             style="margin-top: 30px; margin-bottom: 30px"> | 
				
			|||
            <img src="assets/misc/check-box.png" class="mr-2"/> | 
				
			|||
            <span style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Option to get all stock or stock in a specific location. | 
				
			|||
            </span> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF FEATURES SECTION --> | 
				
			|||
 | 
				
			|||
<!-- SCREENSHOTS SECTION --> | 
				
			|||
<div class="d-flex align-items-center" | 
				
			|||
     style="border-bottom: 2px solid #714B67; padding: 15px 0px;" | 
				
			|||
     id="screenshots"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/pictures.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" | 
				
			|||
        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			|||
        Screenshots | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
<div class="row"> | 
				
			|||
    <div class="col-sm-12"> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Option to set the default 'Product Stock Information' for new products.</h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Enabling 'Show Available Qty' allows you to view the options. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-1.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;">Option to select 'Location type' and 'Stock type'</h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                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'. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-2.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Selecting 'All' for Location Type and 'On-Hand' for Stock Type. | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Select "On-hand" as the stock type, then look over the quantities that are currently on hand and also set 'Show available Qty'. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-3.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Details of On-Hand Stock Availability | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Now, you can observe a Remaining Stock label if the available stock is less than the quantity set in 'Show Available Qty.' | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-4.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Selecting 'All' for Location Type and 'Forecast' for Stock Type. | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Select "Forecast" as the stock type, then look over the forecast quantities and also set 'Show available Qty'. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-5.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Details of Forecast Stock Availability | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Now, you can observe a Remaining Stock label if the available stock is less than the quantity set in 'Show Available Qty.' | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-6.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Selecting 'Specific' for Location Type. | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                After choosing 'Specific' as the Location Type, a new field will appear, allowing you to select a specific location. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-7.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Stock details for the selected specific location. | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Here, you can view the stock details for the selected location. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-8.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Stock details of the selected location. | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                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. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-9.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Details of Out of Stock | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Here, you can disable the 'Continue Selling' option and choose the Location and Stock Type. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-10.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Stock details of Out of Stock products | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Here, you can see the 'Out of Stock' label if there is no product stock. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-11.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Snippet option for Product Stock Details | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                Here, you can find the option to enable or disable the product stock label on the shop page. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-12.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div style="display: block; margin: 30px auto;"> | 
				
			|||
            <h3 style="font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: bold;"> | 
				
			|||
                Enabling the Products Stock Info Option | 
				
			|||
            </h3> | 
				
			|||
            <p style="font-weight: 400; font-family: 'Montserrat', sans-serif; font-size: 14px;"> | 
				
			|||
                After enabling the option, you will see the 'Stock Details' label on each storable product. | 
				
			|||
            </p> | 
				
			|||
            <img src="assets/screenshots/screenshot-13.png" class="img-thumbnail"> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF SCREENSHOTS SECTION --> | 
				
			|||
 | 
				
			|||
<!-- SUGGESTED PRODUCTS --> | 
				
			|||
<div class="row"> | 
				
			|||
    <div class="col-sm-12 col-md-12-col-lg-2"> | 
				
			|||
        <h2 style="font-weight: bold; color: #3D3D4E;">Related Modules</h2> | 
				
			|||
        <p style="color: #777783;">Explore our related modules</p> | 
				
			|||
        <hr/> | 
				
			|||
    </div> | 
				
			|||
    <div class="col-sm-12"> | 
				
			|||
        <div id="demo1" class="row carousel slide" data-ride="carousel"> | 
				
			|||
            <!-- The slideshow --> | 
				
			|||
            <div class="carousel-inner" style="padding: 30px;"> | 
				
			|||
                <div class="carousel-item" style="min-height: 198.656px;"> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/16.0/product_brand_ecommerce/" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/1.png"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/17.0/base_account_budget/" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/2.jpg"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/16.0/top_selling_product_in_category/" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/3.jpg"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
                <div class="carousel-item active" | 
				
			|||
                     style="min-height: 198.656px;"> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/16.0/website_upload_files/#" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/4.jpg"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/16.0/website_repeat_sale/" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/5.png"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                    <div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" | 
				
			|||
                         style="float:left"> | 
				
			|||
                        <a href="https://apps.odoo.com/apps/modules/16.0/website_model_viewer_widget/" | 
				
			|||
                           target="_blank"> | 
				
			|||
                            <div style="border-radius:10px"> | 
				
			|||
                                <img class="img img-responsive center-block" | 
				
			|||
                                     style="border-radius: 0px;" | 
				
			|||
                                     src="assets/modules/6.jpg"> | 
				
			|||
                            </div> | 
				
			|||
                        </a> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
            </div> | 
				
			|||
            <a class="carousel-control-prev" href="#demo1" data-slide="prev" | 
				
			|||
               style="width:35px; color:#000"> <span | 
				
			|||
                    class="carousel-control-prev-icon"><i | 
				
			|||
                    class="fa fa-chevron-left" | 
				
			|||
                    style="font-size:24px"></i></span> | 
				
			|||
            </a> | 
				
			|||
            <a class="carousel-control-next" href="#demo1" | 
				
			|||
                    data-slide="next" | 
				
			|||
                    style="width:35px; color:#000"> | 
				
			|||
                    <span class="carousel-control-next-icon"><i | 
				
			|||
                            class="fa fa-chevron-right" | 
				
			|||
                            style="font-size:24px"></i></span> | 
				
			|||
            </a> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF SUGGESTED PRODUCTS --> | 
				
			|||
 | 
				
			|||
<!-- OUR SERVICES --> | 
				
			|||
 | 
				
			|||
<div class="d-flex align-items-center" | 
				
			|||
     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/star.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" | 
				
			|||
        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			|||
        Our Services | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<div class="container my-5"> | 
				
			|||
    <div class="row"> | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/cogs.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Customization</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/wrench.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Implementation</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/lifebuoy.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Support</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/user.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Hire | 
				
			|||
                Odoo | 
				
			|||
                Developer</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #54a0ff  !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/puzzle.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Integration</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/update.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Migration</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/consultation.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Consultancy</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/training.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Implementation</h6> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4"> | 
				
			|||
            <div class="d-flex justify-content-center align-items-center mx-3 my-3" | 
				
			|||
                 style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;"> | 
				
			|||
                <img src="assets/icons/license.png" class="img-responsive" | 
				
			|||
                     height="48px" width="48px"> | 
				
			|||
            </div> | 
				
			|||
            <h6 class="text-center" | 
				
			|||
                style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;"> | 
				
			|||
                Odoo | 
				
			|||
                Licensing Consultancy</h6> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
 | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<!-- END OF OUR SERVICES --> | 
				
			|||
 | 
				
			|||
<!-- OUR INDUSTRIES --> | 
				
			|||
 | 
				
			|||
<div class="d-flex align-items-center" | 
				
			|||
     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/corporate.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" | 
				
			|||
        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			|||
        Our | 
				
			|||
        Industries | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<div class="container my-5"> | 
				
			|||
    <div class="row"> | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/trading-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Trading | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Easily procure | 
				
			|||
                    and | 
				
			|||
                    sell your products</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/pos-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    POS | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Easy | 
				
			|||
                    configuration | 
				
			|||
                    and convivial experience</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/education-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Education | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    A platform for | 
				
			|||
                    educational management</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/manufacturing-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" | 
				
			|||
                     width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Manufacturing | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Plan, track and | 
				
			|||
                    schedule your operations</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/ecom-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    E-commerce & Website | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Mobile | 
				
			|||
                    friendly, | 
				
			|||
                    awe-inspiring product pages</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/service-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Service Management | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Keep track of | 
				
			|||
                    services and invoice</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/restaurant-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Restaurant | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    Run your bar or | 
				
			|||
                    restaurant methodically</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
 | 
				
			|||
        <div class="col-lg-3"> | 
				
			|||
            <div class="my-4 d-flex flex-column justify-content-center" | 
				
			|||
                 style="background-color: #f6f8f9 !important; border-radius: 0px; padding: 2rem !important; height: 250px !important;"> | 
				
			|||
                <img src="assets/icons/hotel-black.png" | 
				
			|||
                     class="img-responsive mb-3" height="48px" width="48px"> | 
				
			|||
                <h5 style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;"> | 
				
			|||
                    Hotel Management | 
				
			|||
                </h5> | 
				
			|||
                <p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;"> | 
				
			|||
                    An | 
				
			|||
                    all-inclusive | 
				
			|||
                    hotel management application</p> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
 | 
				
			|||
<!-- END OF OUR INDUSTRIES --> | 
				
			|||
 | 
				
			|||
<!-- SUPPORT --> | 
				
			|||
<div class="d-flex align-items-center" | 
				
			|||
     style="border-bottom: 2px solid #714B67; padding: 15px 0px;"> | 
				
			|||
    <div class="d-flex justify-content-center align-items-center mr-2" | 
				
			|||
         style="background-color: #F5F5F5; border-radius: 0px; width: 40px; height: 40px;"> | 
				
			|||
        <img src="assets/misc/customer-support.png"/> | 
				
			|||
    </div> | 
				
			|||
    <h2 class="mt-2" | 
				
			|||
        style="font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: bold;"> | 
				
			|||
        Support | 
				
			|||
    </h2> | 
				
			|||
</div> | 
				
			|||
<div class="container mt-5"> | 
				
			|||
    <div class="row"> | 
				
			|||
        <div class="col-sm-12 col-md-6"> | 
				
			|||
            <div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;"> | 
				
			|||
                <div class="mr-4" | 
				
			|||
                     style="background-color: #714B67; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;"> | 
				
			|||
                    <img src="assets/misc/support.png" height="48" width="48" | 
				
			|||
                         style="width: 42px; height: 42px;"/> | 
				
			|||
                </div> | 
				
			|||
                <div> | 
				
			|||
                    <h4>Need Help?</h4> | 
				
			|||
                    <p style="line-height: 100%;">Got questions or need help? | 
				
			|||
                        Get in touch.</p> | 
				
			|||
                    <a href="mailto:odoo@cybrosys.com"> | 
				
			|||
                        <p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;"> | 
				
			|||
                            odoo@cybrosys.com</p> | 
				
			|||
                    </a> | 
				
			|||
                </div> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
        <div class="col-sm-12 col-md-6"> | 
				
			|||
            <div style="background-color: #F6F8F9; padding: 30px; display: flex; align-items: center;"> | 
				
			|||
                <div class="mr-4" | 
				
			|||
                     style="background-color: #2AC44D; display: inline-block; height: 70px; width: 70px; display: flex; align-items: center; justify-content: center;"> | 
				
			|||
                    <img src="assets/misc/whatsapp.png" height="52" width="52" | 
				
			|||
                         style="width: 52px; height: 52px;"/> | 
				
			|||
                </div> | 
				
			|||
                <div> | 
				
			|||
                    <h4>WhatsApp</h4> | 
				
			|||
                    <p style="line-height: 100%;">Say hi to us on WhatsApp!</p> | 
				
			|||
                    <a href="https://api.whatsapp.com/send?phone=918606827707"> | 
				
			|||
                        <p style="font-weight: 400; font-size: 28px; line-height: 80%; color: #714B67;"> | 
				
			|||
                            +91 86068 | 
				
			|||
                            27707</p> | 
				
			|||
                    </a> | 
				
			|||
                </div> | 
				
			|||
            </div> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
    <div class="row"> | 
				
			|||
        <div class="col-sm-12 my-5 d-flex justify-content-center align-items-center"> | 
				
			|||
            <img src="assets/misc/logo.png" width="144" height="31" | 
				
			|||
                 style="width:144px; height: 31px; margin-top: 40px;"/> | 
				
			|||
        </div> | 
				
			|||
    </div> | 
				
			|||
</div> | 
				
			|||
<!-- END OF SUPPORT --> | 
				
			|||
@ -0,0 +1,14 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8"?> | 
				
			|||
 | 
				
			|||
<templates> | 
				
			|||
    <t t-inherit="website_sale_stock.product_availability" t-inherit-mode="extension"> | 
				
			|||
        <xpath expr="//div[@id='out_of_stock_message']/t[@t-elif]" position="replace"> | 
				
			|||
            <t t-elif="!allow_out_of_stock_order or show_availability"> | 
				
			|||
                <div class="text-danger fw-bold"> | 
				
			|||
                    <i class="fa fa-times me-1"/> | 
				
			|||
                    Out of Stock | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </xpath> | 
				
			|||
    </t> | 
				
			|||
</templates> | 
				
			|||
@ -0,0 +1,24 @@ | 
				
			|||
<?xml version="1.0" encoding="UTF-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    To add snippet option checkbox for product stock information on shop page--> | 
				
			|||
    <template id="snippet_options" inherit_id="website.snippet_options" name="product_stock_information_template"> | 
				
			|||
        <xpath expr="//div[@data-js='WebsiteSaleGridLayout']" position="inside"> | 
				
			|||
            <we-checkbox string="Product Stock Info" | 
				
			|||
                         class="product_stock_information_check_box" | 
				
			|||
                         data-customize-website-views="website_product_stock_information.product_stock_information" | 
				
			|||
                         data-no-preview="true" | 
				
			|||
                         data-reload="/"/> | 
				
			|||
        </xpath> | 
				
			|||
    </template> | 
				
			|||
<!--    Template to show label of stock details--> | 
				
			|||
    <template id="product_stock_information" inherit_id="website_sale.products_item" active="False" name="Product Stock Information"> | 
				
			|||
        <xpath expr="//div[hasclass('oe_product_image')]" position="before"> | 
				
			|||
            <t t-if="stocks[product] == 'out_of_stock'"> | 
				
			|||
                <h6 style="top: 0; left: 0; margin: 0; padding: 5px; background-color: red; color: white; text-align: center;">Out of Stock</h6> | 
				
			|||
            </t> | 
				
			|||
            <t t-elif="stocks[product] == 'in_stock'"> | 
				
			|||
                <h6 style="top: 0; left: 0; margin: 0; padding: 5px; background-color: green; color: white; text-align: center;">In Stock</h6> | 
				
			|||
            </t> | 
				
			|||
        </xpath> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,16 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
<!--    To add fields in product template--> | 
				
			|||
    <record id="product_template_form_view" model="ir.ui.view"> | 
				
			|||
        <field name="name">product.template.view.form.website.product.stock.information</field> | 
				
			|||
        <field name="model">product.template</field> | 
				
			|||
        <field name="inherit_id" ref="website_sale.product_template_form_view" /> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <xpath expr="//field[@name='out_of_stock_message']" position="before"> | 
				
			|||
                <field name="location_type" attrs="{'invisible': ['|', ('type', 'in', ['service', 'consu']), ('show_availability', '=', False)], 'required': [('show_availability', '=', True)]}"/> | 
				
			|||
                <field name="stock_location_id" attrs="{'invisible': ['|', ('type', 'in', ['service', 'consu']), '|', ('show_availability', '=', False), ('location_type', '=', 'all')], 'required': [('location_type', '=', 'specific'), ('show_availability', '=', True)]}"/> | 
				
			|||
                <field name="stock_type" attrs="{'invisible': ['|', ('type', 'in', ['service', 'consu']), ('show_availability', '=', False)], 'required': [('show_availability', '=', True)]}"/> | 
				
			|||
            </xpath> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,43 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8" ?> | 
				
			|||
<odoo> | 
				
			|||
<!--    To add fields in configuration settings of website--> | 
				
			|||
    <record id="res_config_settings_view_form" model="ir.ui.view"> | 
				
			|||
        <field name="name">res.config.settings.view.form.website.product.stock.information</field> | 
				
			|||
        <field name="model">res.config.settings</field> | 
				
			|||
        <field name="inherit_id" ref="website_sale.res_config_settings_view_form"/> | 
				
			|||
        <field name="arch" type="xml"> | 
				
			|||
            <xpath expr="//div[@id='product_availability_setting']/div[@class='o_setting_right_pane']" position="inside"> | 
				
			|||
                <div class="content-group"> | 
				
			|||
                    <div class="row mt16" id="location_type_settings" | 
				
			|||
                        title="Choose stock for a specific location or all location."> | 
				
			|||
                        <div class="col-12"> | 
				
			|||
                            <label for="location_type" class="p-0 col-4 o_light_label" attrs="{'invisible': [('show_availability', '=', False)]}"/> | 
				
			|||
                            <field name="location_type" | 
				
			|||
                                   attrs="{'invisible': [('show_availability', '=', False)], 'required': [('show_availability', '=', True)]}"/> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
                <div class="content-group"> | 
				
			|||
                    <div class="row mt16" id="stock_location_settings"> | 
				
			|||
                        <div class="col-12"> | 
				
			|||
                            <label for="stock_location_id" class="p-0 col-4 o_light_label" | 
				
			|||
                                   attrs="{'invisible': ['|', ('location_type', '=', 'all'), ('show_availability', '=', False)]}"/> | 
				
			|||
                            <field name="stock_location_id" | 
				
			|||
                                   attrs="{'invisible': ['|', ('location_type', '=', 'all'), ('show_availability', '=', False)], | 
				
			|||
                                    'required': [('location_type', '=', 'specific'), ('show_availability', '=', True)]}"/> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
                <div class="content-group"> | 
				
			|||
                    <div class="row mt16" id="stock_type_settings"> | 
				
			|||
                        <div class="col-12"> | 
				
			|||
                            <label for="stock_type" class="p-0 col-4 o_light_label" attrs="{'invisible': [('show_availability', '=', False)]}"/> | 
				
			|||
                            <field name="stock_type" | 
				
			|||
                                   attrs="{'invisible': [('show_availability', '=', False)], 'required': [('show_availability', '=', True)]}"/> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                </div> | 
				
			|||
            </xpath> | 
				
			|||
        </field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||