diff --git a/sale_stock_restrict/README.rst b/sale_stock_restrict/README.rst
index 5e0f64546..253bed86f 100644
--- a/sale_stock_restrict/README.rst
+++ b/sale_stock_restrict/README.rst
@@ -1,18 +1,48 @@
-=================================================
- Out Of Stock Products Restriction On Sales v16
-=================================================
+.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
+ :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
-Odoo Developers, Keep smiling for the below reasons:
+Sale Stock Restrict
+===================
+* This module helps manage out-of-stock products based on on-hand or forecast quantity.
+
+Installation
+============
+- www.odoo.com/documentation/17.0/setup/install.html
+- Install our custom addon
- * Restrict out of stock products in sales.
+License
+-------
+Affero General Public License v3.0 (AGPL v3)
+(https://www.gnu.org/licenses/agpl-3.0-standalone.html)
+
+Company
+-------
+* 'Cybrosys Techno Solutions
Credits
-------
-* `< odoo@cybrosys.com >`
-* ``
+* Developer: Developer : (V17) Ashok P K
+ 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 https://www.cybrosys.com
Further information
===================
-HTML Description: ``__
-
+HTML Description: ``__
\ No newline at end of file
diff --git a/sale_stock_restrict/__init__.py b/sale_stock_restrict/__init__.py
index 2e56b9658..d96aecdec 100644
--- a/sale_stock_restrict/__init__.py
+++ b/sale_stock_restrict/__init__.py
@@ -1,21 +1,22 @@
+# -*- coding: utf-8 -*-
+#############################################################################
+#
# Cybrosys Technologies Pvt. Ltd.
#
-# Copyright (C) 2022-TODAY Cybrosys Technologies()
+# Copyright (C) 2024-TODAY Cybrosys Technologies()
# Author: Cybrosys Techno Solutions()
#
-# This program is free software: you can modify
-# it under the terms of the GNU Affero General Public License (AGPL) as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# 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 for more details.
+# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+# (AGPL v3) along with this program.
+# If not, see .
#
#############################################################################
-
from . import models
diff --git a/sale_stock_restrict/__manifest__.py b/sale_stock_restrict/__manifest__.py
index ace5ccd6d..2df405063 100644
--- a/sale_stock_restrict/__manifest__.py
+++ b/sale_stock_restrict/__manifest__.py
@@ -1,42 +1,43 @@
+# -*- coding: utf-8 -*-
+#############################################################################
+#
# Cybrosys Technologies Pvt. Ltd.
#
-# Copyright (C) 2022-TODAY Cybrosys Technologies()
+# Copyright (C) 2024-TODAY Cybrosys Technologies()
# Author: Cybrosys Techno Solutions()
#
-# This program is free software: you can modify
-# it under the terms of the GNU Affero General Public License (AGPL) as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# 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 for more details.
+# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+# (AGPL v3) along with this program.
+# If not, see .
#
#############################################################################
-
{
- 'name': 'Out Of Stock Products Restriction On Sales',
+ 'name': 'Sale Stock Restrict',
'version': '16.0.1.0.0',
- 'summary': 'Out Of Stock Products Restriction On Sales',
- 'description': """Out Of Stock Products Restriction On Sales""",
- 'category': 'Sales/Sales',
+ 'category': 'Sales',
+ 'summary': 'Module helps to restrict out of stock products',
+ 'description': """This module helps manage out-of-stock products based on
+ on-hand or forecast quantity.""",
'author': 'Cybrosys Techno solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': 'https://www.cybrosys.com',
- 'depends': ['base', 'sale_management', 'stock', 'account'],
+ 'depends': ['base', 'sale_management', 'stock', 'account','website_sale'],
'data': [
- 'views/res_config_views.xml',
+ 'views/res_config_settings_views.xml',
'views/sale_order.xml',
],
- 'images': ['static/description/banner.png'],
+ 'images': ['static/description/banner.jpg'],
+ 'license': 'AGPL-3',
'installable': True,
- 'application': False,
'auto_install': False,
- 'license': 'AGPL-3',
-
+ 'application': False,
}
diff --git a/sale_stock_restrict/doc/RELEASE_NOTES.md b/sale_stock_restrict/doc/RELEASE_NOTES.md
index 08ead4fb8..29d37a000 100644
--- a/sale_stock_restrict/doc/RELEASE_NOTES.md
+++ b/sale_stock_restrict/doc/RELEASE_NOTES.md
@@ -1,6 +1,6 @@
## Module
-#### 03.01.2023
-#### Version 16.0.1.0.0
+#### 25.01.2024
+#### Version 17.0.1.0.0
#### ADD
-- Initial Commit
+- Initial Commit for Sale Stock Restrict
diff --git a/sale_stock_restrict/models/__init__.py b/sale_stock_restrict/models/__init__.py
index 5e6c97bf1..06f62d23d 100644
--- a/sale_stock_restrict/models/__init__.py
+++ b/sale_stock_restrict/models/__init__.py
@@ -1,22 +1,23 @@
+# -*- coding: utf-8 -*-
+#############################################################################
+#
# Cybrosys Technologies Pvt. Ltd.
#
-# Copyright (C) 2022-TODAY Cybrosys Technologies()
+# Copyright (C) 2024-TODAY Cybrosys Technologies()
# Author: Cybrosys Techno Solutions()
#
-# This program is free software: you can modify
-# it under the terms of the GNU Affero General Public License (AGPL) as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# 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 for more details.
+# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+# (AGPL v3) along with this program.
+# If not, see .
#
#############################################################################
-
-from . import res_config
+from . import res_config_settings
from . import sale_order
diff --git a/sale_stock_restrict/models/res_config.py b/sale_stock_restrict/models/res_config_settings.py
similarity index 56%
rename from sale_stock_restrict/models/res_config.py
rename to sale_stock_restrict/models/res_config_settings.py
index a88151d07..bf33963c3 100644
--- a/sale_stock_restrict/models/res_config.py
+++ b/sale_stock_restrict/models/res_config_settings.py
@@ -1,41 +1,43 @@
+# -*- coding: utf-8 -*-
+#############################################################################
+#
# Cybrosys Technologies Pvt. Ltd.
#
-# Copyright (C) 2022-TODAY Cybrosys Technologies()
+# Copyright (C) 2024-TODAY Cybrosys Technologies()
# Author: Cybrosys Techno Solutions()
#
-# This program is free software: you can modify
-# it under the terms of the GNU Affero General Public License (AGPL) as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# 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 for more details.
+# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# 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, api
+from odoo import api, fields, models
-class ResConfigInherit(models.TransientModel):
+class ResConfigSettings(models.TransientModel):
+ """Class to add fields and functions in settings"""
_inherit = 'res.config.settings'
product_restriction = fields.Boolean(
string='Out Of Stock Product Restriction',
- help='Enable Out Of Stock Product Restriction')
+ help='Enable this to restrict the out of stock product')
check_stock = fields.Selection(
- [('on_hand_quantity', 'On Hand Ouantity'),
- ('forecast_quantity', 'Forecast Ouantity')], string="Based On",
+ [('on_hand_quantity', 'On Hand Quantity'),
+ ('forecast_quantity', 'Forecast Quantity')], string="Based On",
help='Choose the type of restriction')
@api.model
def get_values(self):
- """get values from the fields"""
- res = super(ResConfigInherit, self).get_values()
+ """Function to take values from the fields"""
+ res = super().get_values()
params = self.env['ir.config_parameter'].sudo().get_param
product_restriction = params('sale_stock_restrict.product_restriction')
check_stock = params('sale_stock_restrict.check_stock')
@@ -46,8 +48,8 @@ class ResConfigInherit(models.TransientModel):
return res
def set_values(self):
- """Set values in the fields"""
- super(ResConfigInherit, self).set_values()
+ """Function to set the values in the fields"""
+ super().set_values()
self.env['ir.config_parameter'].sudo().set_param(
'sale_stock_restrict.product_restriction', self.product_restriction)
self.env['ir.config_parameter'].sudo().set_param(
diff --git a/sale_stock_restrict/models/sale_order.py b/sale_stock_restrict/models/sale_order.py
index 63888ce19..85dd32ae2 100644
--- a/sale_stock_restrict/models/sale_order.py
+++ b/sale_stock_restrict/models/sale_order.py
@@ -1,62 +1,71 @@
+# -*- coding: utf-8 -*-
+#############################################################################
+#
# Cybrosys Technologies Pvt. Ltd.
#
-# Copyright (C) 2022-TODAY Cybrosys Technologies()
+# Copyright (C) 2024-TODAY Cybrosys Technologies()
# Author: Cybrosys Techno Solutions()
#
-# This program is free software: you can modify
-# it under the terms of the GNU Affero General Public License (AGPL) as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
+# 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 for more details.
+# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# 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
-from odoo.exceptions import UserError
+from odoo.exceptions import ValidationError
-class SaleOrderLineInherit(models.Model):
+class SaleOrderLine(models.Model):
+ """Class to add fields in sale order line and automatically display the
+ value in the fields if we select a product."""
_inherit = 'sale.order.line'
- qty_available = fields.Float(string="On Hand Quantity",
- help='Count of On Hand quantity')
- forecast_quantity = fields.Float(string="Forecast Quantity",
- help='Count of Forecast quantity')
+ qty_available = fields.Float(
+ string="On Hand Quantity",
+ help='Count of on hand quantity')
+ forecast_quantity = fields.Float(
+ string="Forecast Quantity",
+ help='Count of forecast quantity')
@api.onchange('product_id')
def _onchange_product_id(self):
+ """Function to set the value of the fields based on product."""
product_restriction = self.env['ir.config_parameter'].sudo().get_param(
'sale_stock_restrict.product_restriction')
check_stock = self.env[
'ir.config_parameter'].sudo().get_param(
'sale_stock_restrict.check_stock')
if product_restriction:
-
if check_stock == 'on_hand_quantity':
self.qty_available = self.product_id.qty_available
if check_stock == 'forecast_quantity':
self.forecast_quantity = self.product_id.virtual_available
-class SaleOrderInherit(models.Model):
+class SaleOrder(models.Model):
+ """Class to add fields in sale order and a function for confirming
+ quotation."""
_inherit = 'sale.order'
- onhand_check = fields.Boolean(string='Enable OnHand',
- help='To check whether it is based on'
- ' on hand quantity')
- forecast_check = fields.Boolean(string='Enable Forecast',
- help='To check whether it is based on'
- ' Forecast quantity')
+ onhand_check = fields.Boolean(
+ string='Enable OnHand',
+ help='To check whether it is based on on-hand quantity')
+ forecast_check = fields.Boolean(
+ string='Enable Forecast',
+ help='To check whether it is based on forecast quantity')
def action_confirm(self):
- res = super(SaleOrderInherit, self).action_confirm()
+ """Function to restrict the confirming of quotation if the product is
+ out of stock."""
+ res = super().action_confirm()
low_qty = ["Can't confirm the sale order due to: \n"]
for rec in self.order_line:
product_restriction = self.env[
@@ -65,33 +74,25 @@ class SaleOrderInherit(models.Model):
check_stock = self.env[
'ir.config_parameter'].sudo().get_param(
'sale_stock_restrict.check_stock')
- if product_restriction:
- if rec.product_id.detailed_type == 'product':
- if check_stock == 'on_hand_quantity':
- if rec.product_uom_qty > rec.qty_available:
- self.onhand_check = True
- onhand_qty_list = "You have added %s units of %s" \
- " but you only have %s units" \
- " available.\n" % (
- rec.product_uom_qty,
- rec.product_id.name,
- rec.qty_available)
- low_qty.append(onhand_qty_list)
-
- if check_stock == 'forecast_quantity':
- if rec.product_uom_qty > rec.forecast_quantity:
- self.forecast_check = True
- forecast_qty_list = "You have added %s" \
- " units of %s but you only have" \
- " %s units available.\n" % (
- rec.product_uom_qty,
- rec.product_id.name,
- rec.forecast_quantity)
- low_qty.append(forecast_qty_list)
-
- listToStr = ' '.join(map(str, low_qty))
+ if (product_restriction and not self.website_id and
+ rec.product_id.detailed_type == 'product'):
+ if (check_stock == 'on_hand_quantity' and
+ rec.product_uom_qty > rec.qty_available):
+ self.onhand_check = True
+ low_qty.append(
+ f"You have added {rec.product_uom_qty} units of "
+ f"{rec.product_id.name}, but you only have "
+ f"{rec.qty_available} units available.")
+ if (check_stock == 'forecast_quantity' and
+ rec.product_uom_qty > rec.forecast_quantity):
+ self.forecast_check = True
+ low_qty.append(
+ f"You have added {rec.product_uom_qty} units of "
+ f"{rec.product_id.name}, but you only have "
+ f"{rec.forecast_quantity} units available.")
+ message = ' '.join(map(str, low_qty))
if self.onhand_check:
- raise UserError(listToStr)
+ raise ValidationError(message)
if self.forecast_check:
- raise UserError(listToStr)
+ raise ValidationError(message)
return res
diff --git a/sale_stock_restrict/static/description/assets/icons/capture (1).png b/sale_stock_restrict/static/description/assets/icons/capture (1).png
new file mode 100644
index 000000000..8824deafc
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/icons/capture (1).png differ
diff --git a/sale_stock_restrict/static/description/assets/icons/img.png b/sale_stock_restrict/static/description/assets/icons/img.png
new file mode 100644
index 000000000..70197f477
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/icons/img.png differ
diff --git a/sale_stock_restrict/static/description/assets/icons/photo-capture.png b/sale_stock_restrict/static/description/assets/icons/photo-capture.png
new file mode 100644
index 000000000..06c111758
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/icons/photo-capture.png differ
diff --git a/sale_stock_restrict/static/description/assets/misc/Cybrosys R.png b/sale_stock_restrict/static/description/assets/misc/Cybrosys R.png
new file mode 100644
index 000000000..da4058087
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/misc/Cybrosys R.png differ
diff --git a/sale_stock_restrict/static/description/assets/misc/categories.png b/sale_stock_restrict/static/description/assets/misc/categories.png
deleted file mode 100644
index bedf1e0b1..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/categories.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/check-box.png b/sale_stock_restrict/static/description/assets/misc/check-box.png
deleted file mode 100644
index 42caf24b9..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/check-box.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/compass.png b/sale_stock_restrict/static/description/assets/misc/compass.png
deleted file mode 100644
index d5fed8faa..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/compass.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/corporate.png b/sale_stock_restrict/static/description/assets/misc/corporate.png
deleted file mode 100644
index 2eb13edbf..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/corporate.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/customer-support.png b/sale_stock_restrict/static/description/assets/misc/customer-support.png
deleted file mode 100644
index 79efc72ed..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/customer-support.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/cybrosys-logo.png b/sale_stock_restrict/static/description/assets/misc/cybrosys-logo.png
deleted file mode 100644
index cc3cc0ccf..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/cybrosys-logo.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/email.svg b/sale_stock_restrict/static/description/assets/misc/email.svg
new file mode 100644
index 000000000..15291cdc3
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/email.svg
@@ -0,0 +1,33 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/features.png b/sale_stock_restrict/static/description/assets/misc/features.png
deleted file mode 100644
index b41769f77..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/features.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/logo.png b/sale_stock_restrict/static/description/assets/misc/logo.png
deleted file mode 100644
index 478462d3e..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/logo.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/phone.svg b/sale_stock_restrict/static/description/assets/misc/phone.svg
new file mode 100644
index 000000000..b7bd7f251
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/phone.svg
@@ -0,0 +1,3 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/pictures.png b/sale_stock_restrict/static/description/assets/misc/pictures.png
deleted file mode 100644
index 56d255fe9..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/pictures.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/pie-chart.png b/sale_stock_restrict/static/description/assets/misc/pie-chart.png
deleted file mode 100644
index 426e05244..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/pie-chart.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/right-arrow.png b/sale_stock_restrict/static/description/assets/misc/right-arrow.png
deleted file mode 100644
index 730984a06..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/right-arrow.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/star (1) 2.svg b/sale_stock_restrict/static/description/assets/misc/star (1) 2.svg
new file mode 100644
index 000000000..5ae9f507a
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/star (1) 2.svg
@@ -0,0 +1,9 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/star.png b/sale_stock_restrict/static/description/assets/misc/star.png
deleted file mode 100644
index 2eb9ab29f..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/star.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/support (1) 1.svg b/sale_stock_restrict/static/description/assets/misc/support (1) 1.svg
new file mode 100644
index 000000000..7d37a8f30
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/support (1) 1.svg
@@ -0,0 +1,9 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/support-email.svg b/sale_stock_restrict/static/description/assets/misc/support-email.svg
new file mode 100644
index 000000000..eb70370d6
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/support-email.svg
@@ -0,0 +1,6 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/support.png b/sale_stock_restrict/static/description/assets/misc/support.png
deleted file mode 100644
index 4f18b8b82..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/support.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/tick-mark.svg b/sale_stock_restrict/static/description/assets/misc/tick-mark.svg
new file mode 100644
index 000000000..2dbb40187
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/tick-mark.svg
@@ -0,0 +1,17 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/whatsapp 1.svg b/sale_stock_restrict/static/description/assets/misc/whatsapp 1.svg
new file mode 100644
index 000000000..0bfaf8fc6
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/whatsapp 1.svg
@@ -0,0 +1,9 @@
+
diff --git a/sale_stock_restrict/static/description/assets/misc/whatsapp.png b/sale_stock_restrict/static/description/assets/misc/whatsapp.png
deleted file mode 100644
index d513a5356..000000000
Binary files a/sale_stock_restrict/static/description/assets/misc/whatsapp.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/misc/whatsapp.svg b/sale_stock_restrict/static/description/assets/misc/whatsapp.svg
new file mode 100644
index 000000000..b618aea1d
--- /dev/null
+++ b/sale_stock_restrict/static/description/assets/misc/whatsapp.svg
@@ -0,0 +1,33 @@
+
diff --git a/sale_stock_restrict/static/description/assets/modules/1.png b/sale_stock_restrict/static/description/assets/modules/1.png
index 489f44e86..0dea4f332 100644
Binary files a/sale_stock_restrict/static/description/assets/modules/1.png and b/sale_stock_restrict/static/description/assets/modules/1.png differ
diff --git a/sale_stock_restrict/static/description/assets/modules/2.png b/sale_stock_restrict/static/description/assets/modules/2.png
index 1ae7cfe3b..a5dc79613 100644
Binary files a/sale_stock_restrict/static/description/assets/modules/2.png and b/sale_stock_restrict/static/description/assets/modules/2.png differ
diff --git a/sale_stock_restrict/static/description/assets/modules/3.png b/sale_stock_restrict/static/description/assets/modules/3.png
index 3c3ff1afb..5ae24843e 100644
Binary files a/sale_stock_restrict/static/description/assets/modules/3.png and b/sale_stock_restrict/static/description/assets/modules/3.png differ
diff --git a/sale_stock_restrict/static/description/assets/modules/4.png b/sale_stock_restrict/static/description/assets/modules/4.png
index 3fae4631e..c8e6c355a 100644
Binary files a/sale_stock_restrict/static/description/assets/modules/4.png and b/sale_stock_restrict/static/description/assets/modules/4.png differ
diff --git a/sale_stock_restrict/static/description/assets/modules/5.gif b/sale_stock_restrict/static/description/assets/modules/5.gif
deleted file mode 100644
index 8f40aab85..000000000
Binary files a/sale_stock_restrict/static/description/assets/modules/5.gif and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/modules/5.jpg b/sale_stock_restrict/static/description/assets/modules/5.jpg
new file mode 100644
index 000000000..e19e7ab11
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/modules/5.jpg differ
diff --git a/sale_stock_restrict/static/description/assets/modules/6.jpg b/sale_stock_restrict/static/description/assets/modules/6.jpg
new file mode 100644
index 000000000..0cbac311c
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/modules/6.jpg differ
diff --git a/sale_stock_restrict/static/description/assets/modules/6.png b/sale_stock_restrict/static/description/assets/modules/6.png
deleted file mode 100644
index 31ed46762..000000000
Binary files a/sale_stock_restrict/static/description/assets/modules/6.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/1.png b/sale_stock_restrict/static/description/assets/screenshots/1.png
new file mode 100644
index 000000000..d3dd3c4e7
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/1.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/2.png b/sale_stock_restrict/static/description/assets/screenshots/2.png
new file mode 100644
index 000000000..04aae9a92
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/2.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/3.png b/sale_stock_restrict/static/description/assets/screenshots/3.png
new file mode 100644
index 000000000..3eece9bc9
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/3.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/4.png b/sale_stock_restrict/static/description/assets/screenshots/4.png
new file mode 100644
index 000000000..ac5289706
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/4.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/5.png b/sale_stock_restrict/static/description/assets/screenshots/5.png
new file mode 100644
index 000000000..c735c05d7
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/5.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/6.png b/sale_stock_restrict/static/description/assets/screenshots/6.png
new file mode 100644
index 000000000..2f18fd0ca
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/6.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/7.png b/sale_stock_restrict/static/description/assets/screenshots/7.png
new file mode 100644
index 000000000..a2d6983e7
Binary files /dev/null and b/sale_stock_restrict/static/description/assets/screenshots/7.png differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/hero.gif b/sale_stock_restrict/static/description/assets/screenshots/hero.gif
index aff31301d..0b04ff034 100644
Binary files a/sale_stock_restrict/static/description/assets/screenshots/hero.gif and b/sale_stock_restrict/static/description/assets/screenshots/hero.gif differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock1.png b/sale_stock_restrict/static/description/assets/screenshots/stock1.png
deleted file mode 100644
index 65229bb5e..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock1.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock2.png b/sale_stock_restrict/static/description/assets/screenshots/stock2.png
deleted file mode 100644
index 5a1740b11..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock2.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock3.png b/sale_stock_restrict/static/description/assets/screenshots/stock3.png
deleted file mode 100644
index f0ea44763..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock3.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock4.png b/sale_stock_restrict/static/description/assets/screenshots/stock4.png
deleted file mode 100644
index e937edb5a..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock4.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock5.png b/sale_stock_restrict/static/description/assets/screenshots/stock5.png
deleted file mode 100644
index a8c9cea23..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock5.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock6.png b/sale_stock_restrict/static/description/assets/screenshots/stock6.png
deleted file mode 100644
index 422de7088..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock6.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/assets/screenshots/stock7.png b/sale_stock_restrict/static/description/assets/screenshots/stock7.png
deleted file mode 100644
index b4b420221..000000000
Binary files a/sale_stock_restrict/static/description/assets/screenshots/stock7.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/banner.jpg b/sale_stock_restrict/static/description/banner.jpg
new file mode 100644
index 000000000..bdcbe1adc
Binary files /dev/null and b/sale_stock_restrict/static/description/banner.jpg differ
diff --git a/sale_stock_restrict/static/description/banner.png b/sale_stock_restrict/static/description/banner.png
deleted file mode 100644
index f53d7f4d1..000000000
Binary files a/sale_stock_restrict/static/description/banner.png and /dev/null differ
diff --git a/sale_stock_restrict/static/description/icon.png b/sale_stock_restrict/static/description/icon.png
index dfe9a9d93..99963d146 100644
Binary files a/sale_stock_restrict/static/description/icon.png and b/sale_stock_restrict/static/description/icon.png differ
diff --git a/sale_stock_restrict/static/description/index.html b/sale_stock_restrict/static/description/index.html
index ddde6c916..908cd094f 100644
--- a/sale_stock_restrict/static/description/index.html
+++ b/sale_stock_restrict/static/description/index.html
@@ -1,664 +1,751 @@
-