diff --git a/product_sales_by_location/README.rst b/product_sales_by_location/README.rst new file mode 100644 index 000000000..d56a77d4f --- /dev/null +++ b/product_sales_by_location/README.rst @@ -0,0 +1,50 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: lGPL-3 + +Product Sales By Location +========================= +This app allows our user to set a location on sale order line. +Whatever location is selected on sale order lines, the product will be delivered from the selected location. +Delivery orders will be created based on selected location on sale order lines. + +Configuration +============= +* No additional configuration needed. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +------- +* Developer: (V16): Dhanya Babu, + (V17): Gayathri V + (V18): Manasa T P, +Contact:odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/product_sales_by_location/__init__.py b/product_sales_by_location/__init__.py new file mode 100644 index 000000000..c05733a7d --- /dev/null +++ b/product_sales_by_location/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models diff --git a/product_sales_by_location/__manifest__.py b/product_sales_by_location/__manifest__.py new file mode 100644 index 000000000..ceec4e329 --- /dev/null +++ b/product_sales_by_location/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Product Sales By Location', + 'version': '18.0.1.0.0', + 'category': 'Sales', + 'summary': " We can set the location of products for delivery. ", + 'description': " This app allows our user to set a location on sale order" + " line. Whatever location is selected on sale order lines, " + "the product will be delivered from the selected location." + "Delivery orders will be created based on selected location" + "in odoo18", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['sale_management', 'stock', 'portal'], + 'data': + ['views/sale_order_views.xml', + 'views/sale_portal_templates.xml', + 'report/sale_order_templates.xml' + ], + 'images': ['static/description/banner.png'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/product_sales_by_location/doc/RELEASE_NOTES.md b/product_sales_by_location/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..b17511581 --- /dev/null +++ b/product_sales_by_location/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 07.11.2024 +#### Version 18.0.1.0.0 +#### ADD +- Initial Commit for Product Sales By Location diff --git a/product_sales_by_location/models/__init__.py b/product_sales_by_location/models/__init__.py new file mode 100644 index 000000000..f18598e24 --- /dev/null +++ b/product_sales_by_location/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import sale_order +from . import sale_order_line +from . import stock_rule diff --git a/product_sales_by_location/models/sale_order.py b/product_sales_by_location/models/sale_order.py new file mode 100644 index 000000000..7da1692ef --- /dev/null +++ b/product_sales_by_location/models/sale_order.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, models, _ +from odoo.exceptions import ValidationError + + +class SaleOrder(models.Model): + """Inheriting sale order model to check the order line count when + confirm the sale order.""" + _inherit = 'sale.order' + + @api.constrains('order_line') + def _check_order_line(self): + """This function ensures that the same product cannot be added with + the same location more than once in the order.""" + for order in self: + for line in order.order_line.filtered( + lambda l: l.line_location_id): + lines_count = line.search_count([('order_id', '=', order.id), ( + 'product_id', '=', line.product_id.id), + ('line_location_id', '=', + line.line_location_id.id)]) + if lines_count > 1: + raise ValidationError( + _(f"You cannot add the same product" + f" {line.product_id.display_name} with the same " + f"location '{line.line_location_id.name}'.")) diff --git a/product_sales_by_location/models/sale_order_line.py b/product_sales_by_location/models/sale_order_line.py new file mode 100644 index 000000000..1a1a3f77e --- /dev/null +++ b/product_sales_by_location/models/sale_order_line.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import fields, models + + +class SaleOrderLine(models.Model): + """Inheriting this model to add new field.""" + _inherit = 'sale.order.line' + + line_location_id = fields.Many2one('stock.location', + string='Location', + domain="[('usage','=','internal')]", + help=' Choose the location from' + ' where the product taken from') diff --git a/product_sales_by_location/models/stock_rule.py b/product_sales_by_location/models/stock_rule.py new file mode 100644 index 000000000..6214edeb6 --- /dev/null +++ b/product_sales_by_location/models/stock_rule.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Manasa T P () +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import models + + +class StockRule(models.Model): + """By inheriting this model generating corresponding product's stock + moves.""" + _inherit = 'stock.rule' + + def _get_stock_move_values(self, product_id, product_qty, product_uom, + location_id, name, origin, company_id, values): + """Retrieve stock move values for a given product.""" + if values.get('sale_line_id', False): + sale_line_id = self.env['sale.order.line'].sudo().browse( + values['sale_line_id']) + self.location_src_id = sale_line_id.line_location_id.id \ + if sale_line_id.line_location_id \ + else self.picking_type_id.default_location_src_id + return super()._get_stock_move_values(product_id, + product_qty, + product_uom, + location_id, + name, origin, + company_id, + values) diff --git a/product_sales_by_location/report/sale_order_templates.xml b/product_sales_by_location/report/sale_order_templates.xml new file mode 100644 index 000000000..07a9ac524 --- /dev/null +++ b/product_sales_by_location/report/sale_order_templates.xml @@ -0,0 +1,17 @@ + + + + + diff --git a/product_sales_by_location/static/description/assets/cybro-icon.png b/product_sales_by_location/static/description/assets/cybro-icon.png new file mode 100755 index 000000000..06e73e11d Binary files /dev/null and b/product_sales_by_location/static/description/assets/cybro-icon.png differ diff --git a/product_sales_by_location/static/description/assets/cybro-odoo.png b/product_sales_by_location/static/description/assets/cybro-odoo.png new file mode 100755 index 000000000..ed02e07a4 Binary files /dev/null and b/product_sales_by_location/static/description/assets/cybro-odoo.png differ diff --git a/product_sales_by_location/static/description/assets/h2.png b/product_sales_by_location/static/description/assets/h2.png new file mode 100755 index 000000000..0bfc4707d Binary files /dev/null and b/product_sales_by_location/static/description/assets/h2.png differ diff --git a/product_sales_by_location/static/description/assets/icons/arrows-repeat.svg b/product_sales_by_location/static/description/assets/icons/arrows-repeat.svg new file mode 100755 index 000000000..1d7efabc5 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-1.png b/product_sales_by_location/static/description/assets/icons/banner-1.png new file mode 100755 index 000000000..c180db172 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/banner-1.png differ diff --git a/product_sales_by_location/static/description/assets/icons/banner-2.svg b/product_sales_by_location/static/description/assets/icons/banner-2.svg new file mode 100755 index 000000000..e606d97d9 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-2.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-bg.png b/product_sales_by_location/static/description/assets/icons/banner-bg.png new file mode 100755 index 000000000..a8238d3c0 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/banner-bg.png differ diff --git a/product_sales_by_location/static/description/assets/icons/banner-bg.svg b/product_sales_by_location/static/description/assets/icons/banner-bg.svg new file mode 100755 index 000000000..b1378103e --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-call.svg b/product_sales_by_location/static/description/assets/icons/banner-call.svg new file mode 100755 index 000000000..96c687e81 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-mail.svg b/product_sales_by_location/static/description/assets/icons/banner-mail.svg new file mode 100755 index 000000000..cbf0d158d --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-pattern.svg b/product_sales_by_location/static/description/assets/icons/banner-pattern.svg new file mode 100755 index 000000000..9c1c7e101 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-pattern.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/banner-promo.svg b/product_sales_by_location/static/description/assets/icons/banner-promo.svg new file mode 100755 index 000000000..d52791b11 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/brand-pair.svg b/product_sales_by_location/static/description/assets/icons/brand-pair.svg new file mode 100755 index 000000000..d8db7fc1e --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/brand-pair.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/check.png b/product_sales_by_location/static/description/assets/icons/check.png new file mode 100755 index 000000000..c8e85f51d Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/check.png differ diff --git a/product_sales_by_location/static/description/assets/icons/chevron.png b/product_sales_by_location/static/description/assets/icons/chevron.png new file mode 100755 index 000000000..2089293d6 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/chevron.png differ diff --git a/product_sales_by_location/static/description/assets/icons/close-icon.svg b/product_sales_by_location/static/description/assets/icons/close-icon.svg new file mode 100755 index 000000000..df8cce37a --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/cogs.png b/product_sales_by_location/static/description/assets/icons/cogs.png new file mode 100755 index 000000000..95d0bad62 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/cogs.png differ diff --git a/product_sales_by_location/static/description/assets/icons/collabarate-icon.svg b/product_sales_by_location/static/description/assets/icons/collabarate-icon.svg new file mode 100755 index 000000000..dd4e10518 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/product_sales_by_location/static/description/assets/icons/consultation.png b/product_sales_by_location/static/description/assets/icons/consultation.png new file mode 100755 index 000000000..8319d4baa Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/consultation.png differ diff --git a/product_sales_by_location/static/description/assets/icons/cybro-logo.png b/product_sales_by_location/static/description/assets/icons/cybro-logo.png new file mode 100755 index 000000000..ff4b78220 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/cybro-logo.png differ diff --git a/product_sales_by_location/static/description/assets/icons/down.svg b/product_sales_by_location/static/description/assets/icons/down.svg new file mode 100755 index 000000000..f21c36271 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/product_sales_by_location/static/description/assets/icons/ecom-black.png b/product_sales_by_location/static/description/assets/icons/ecom-black.png new file mode 100755 index 000000000..a9385ff13 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/ecom-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/education-black.png b/product_sales_by_location/static/description/assets/icons/education-black.png new file mode 100755 index 000000000..3eb09b27b Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/education-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/faq.png b/product_sales_by_location/static/description/assets/icons/faq.png new file mode 100755 index 000000000..4250b5b81 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/faq.png differ diff --git a/product_sales_by_location/static/description/assets/icons/feature-icon.svg b/product_sales_by_location/static/description/assets/icons/feature-icon.svg new file mode 100755 index 000000000..fa0ea6850 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/feature.png b/product_sales_by_location/static/description/assets/icons/feature.png new file mode 100755 index 000000000..ac7a785c0 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/feature.png differ diff --git a/product_sales_by_location/static/description/assets/icons/gear.svg b/product_sales_by_location/static/description/assets/icons/gear.svg new file mode 100755 index 000000000..0cc66b6ea --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/hero.gif b/product_sales_by_location/static/description/assets/icons/hero.gif new file mode 100644 index 000000000..451aae4e9 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/hero.gif differ diff --git a/product_sales_by_location/static/description/assets/icons/hire-odoo.svg b/product_sales_by_location/static/description/assets/icons/hire-odoo.svg new file mode 100755 index 000000000..e1ac089b0 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/hotel-black.png b/product_sales_by_location/static/description/assets/icons/hotel-black.png new file mode 100755 index 000000000..130f613be Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/hotel-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/license.png b/product_sales_by_location/static/description/assets/icons/license.png new file mode 100755 index 000000000..a5869797e Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/license.png differ diff --git a/product_sales_by_location/static/description/assets/icons/life-ring-icon.svg b/product_sales_by_location/static/description/assets/icons/life-ring-icon.svg new file mode 100755 index 000000000..3ae6e1d89 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/lifebuoy.png b/product_sales_by_location/static/description/assets/icons/lifebuoy.png new file mode 100755 index 000000000..658d56ccc Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/lifebuoy.png differ diff --git a/product_sales_by_location/static/description/assets/icons/mail.svg b/product_sales_by_location/static/description/assets/icons/mail.svg new file mode 100755 index 000000000..1eedde695 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/product_sales_by_location/static/description/assets/icons/manufacturing-black.png b/product_sales_by_location/static/description/assets/icons/manufacturing-black.png new file mode 100755 index 000000000..697eb0e9f Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/manufacturing-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/notes.png b/product_sales_by_location/static/description/assets/icons/notes.png new file mode 100755 index 000000000..ee5e95404 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/notes.png differ diff --git a/product_sales_by_location/static/description/assets/icons/notification icon.svg b/product_sales_by_location/static/description/assets/icons/notification icon.svg new file mode 100755 index 000000000..053189973 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/odoo-consultancy.svg b/product_sales_by_location/static/description/assets/icons/odoo-consultancy.svg new file mode 100755 index 000000000..e05f65bde --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/product_sales_by_location/static/description/assets/icons/odoo-licencing.svg b/product_sales_by_location/static/description/assets/icons/odoo-licencing.svg new file mode 100755 index 000000000..2606c88b0 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/product_sales_by_location/static/description/assets/icons/odoo-logo.png b/product_sales_by_location/static/description/assets/icons/odoo-logo.png new file mode 100755 index 000000000..0e4d0eb5a Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/odoo-logo.png differ diff --git a/product_sales_by_location/static/description/assets/icons/patter.svg b/product_sales_by_location/static/description/assets/icons/patter.svg new file mode 100755 index 000000000..25c9c0a8f --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/pattern1.png b/product_sales_by_location/static/description/assets/icons/pattern1.png new file mode 100755 index 000000000..09ab0fb2d Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/pattern1.png differ diff --git a/product_sales_by_location/static/description/assets/icons/pos-black.png b/product_sales_by_location/static/description/assets/icons/pos-black.png new file mode 100755 index 000000000..97c0f90c1 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/pos-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/puzzle-piece-icon.svg b/product_sales_by_location/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100755 index 000000000..3e9ad9373 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/puzzle.png b/product_sales_by_location/static/description/assets/icons/puzzle.png new file mode 100755 index 000000000..65cf854e7 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/puzzle.png differ diff --git a/product_sales_by_location/static/description/assets/icons/replace-icon.svg b/product_sales_by_location/static/description/assets/icons/replace-icon.svg new file mode 100755 index 000000000..d0e3a7af1 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/restaurant-black.png b/product_sales_by_location/static/description/assets/icons/restaurant-black.png new file mode 100755 index 000000000..4a35eb939 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/restaurant-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/screenshot-main.png b/product_sales_by_location/static/description/assets/icons/screenshot-main.png new file mode 100755 index 000000000..575f8e676 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/screenshot-main.png differ diff --git a/product_sales_by_location/static/description/assets/icons/screenshot.png b/product_sales_by_location/static/description/assets/icons/screenshot.png new file mode 100755 index 000000000..cef272529 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/screenshot.png differ diff --git a/product_sales_by_location/static/description/assets/icons/service-black.png b/product_sales_by_location/static/description/assets/icons/service-black.png new file mode 100755 index 000000000..301ab51cb Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/service-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/skype-fill.svg b/product_sales_by_location/static/description/assets/icons/skype-fill.svg new file mode 100755 index 000000000..c17423639 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/skype-fill.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/skype.png b/product_sales_by_location/static/description/assets/icons/skype.png new file mode 100755 index 000000000..51b409fb3 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/skype.png differ diff --git a/product_sales_by_location/static/description/assets/icons/skype.svg b/product_sales_by_location/static/description/assets/icons/skype.svg new file mode 100755 index 000000000..df3dad39b --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/product_sales_by_location/static/description/assets/icons/star-1.svg b/product_sales_by_location/static/description/assets/icons/star-1.svg new file mode 100755 index 000000000..7e55ab162 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/star-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/star-2.svg b/product_sales_by_location/static/description/assets/icons/star-2.svg new file mode 100755 index 000000000..5ae9f507a --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/star-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/support.png b/product_sales_by_location/static/description/assets/icons/support.png new file mode 100755 index 000000000..4f18b8b82 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/support.png differ diff --git a/product_sales_by_location/static/description/assets/icons/test-1 - Copy.png b/product_sales_by_location/static/description/assets/icons/test-1 - Copy.png new file mode 100755 index 000000000..f6a902663 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/test-1 - Copy.png differ diff --git a/product_sales_by_location/static/description/assets/icons/test-1.png b/product_sales_by_location/static/description/assets/icons/test-1.png new file mode 100755 index 000000000..0908add2b Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/test-1.png differ diff --git a/product_sales_by_location/static/description/assets/icons/test-2.png b/product_sales_by_location/static/description/assets/icons/test-2.png new file mode 100755 index 000000000..4671fe91e Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/test-2.png differ diff --git a/product_sales_by_location/static/description/assets/icons/trading-black.png b/product_sales_by_location/static/description/assets/icons/trading-black.png new file mode 100755 index 000000000..9398ba2f1 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/trading-black.png differ diff --git a/product_sales_by_location/static/description/assets/icons/training.png b/product_sales_by_location/static/description/assets/icons/training.png new file mode 100755 index 000000000..884ca024d Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/training.png differ diff --git a/product_sales_by_location/static/description/assets/icons/translate.svg b/product_sales_by_location/static/description/assets/icons/translate.svg new file mode 100755 index 000000000..af9c8a1aa --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/update.png b/product_sales_by_location/static/description/assets/icons/update.png new file mode 100755 index 000000000..ecbc5a01a Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/update.png differ diff --git a/product_sales_by_location/static/description/assets/icons/user.png b/product_sales_by_location/static/description/assets/icons/user.png new file mode 100755 index 000000000..6ffb23d9f Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/user.png differ diff --git a/product_sales_by_location/static/description/assets/icons/video.png b/product_sales_by_location/static/description/assets/icons/video.png new file mode 100755 index 000000000..576705b17 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/video.png differ diff --git a/product_sales_by_location/static/description/assets/icons/whatsapp.png b/product_sales_by_location/static/description/assets/icons/whatsapp.png new file mode 100755 index 000000000..d513a5356 Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/whatsapp.png differ diff --git a/product_sales_by_location/static/description/assets/icons/wrench-icon.svg b/product_sales_by_location/static/description/assets/icons/wrench-icon.svg new file mode 100755 index 000000000..174b5a465 --- /dev/null +++ b/product_sales_by_location/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/product_sales_by_location/static/description/assets/icons/wrench.png b/product_sales_by_location/static/description/assets/icons/wrench.png new file mode 100755 index 000000000..6c04dea0f Binary files /dev/null and b/product_sales_by_location/static/description/assets/icons/wrench.png differ diff --git a/product_sales_by_location/static/description/assets/modules/1.jpg b/product_sales_by_location/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..3cb15fe01 Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/1.jpg differ diff --git a/product_sales_by_location/static/description/assets/modules/2.jpg b/product_sales_by_location/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/2.jpg differ diff --git a/product_sales_by_location/static/description/assets/modules/3.jpg b/product_sales_by_location/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..717a00443 Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/3.jpg differ diff --git a/product_sales_by_location/static/description/assets/modules/4.png b/product_sales_by_location/static/description/assets/modules/4.png new file mode 100644 index 000000000..00ebf54ad Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/4.png differ diff --git a/product_sales_by_location/static/description/assets/modules/5.jpg b/product_sales_by_location/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..7c67e2eec Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/5.jpg differ diff --git a/product_sales_by_location/static/description/assets/modules/6.gif b/product_sales_by_location/static/description/assets/modules/6.gif new file mode 100644 index 000000000..a35ece8df Binary files /dev/null and b/product_sales_by_location/static/description/assets/modules/6.gif differ diff --git a/product_sales_by_location/static/description/assets/screenshots/1.png b/product_sales_by_location/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..da0a808e0 Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/1.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/2.png b/product_sales_by_location/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..3ec8f5cf3 Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/2.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/3.png b/product_sales_by_location/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..ae43e729c Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/3.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/4.png b/product_sales_by_location/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..cc0540c1e Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/4.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/5.png b/product_sales_by_location/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..a0c4f8ae3 Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/5.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/6.png b/product_sales_by_location/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..fb2d25040 Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/6.png differ diff --git a/product_sales_by_location/static/description/assets/screenshots/v18_gif.gif b/product_sales_by_location/static/description/assets/screenshots/v18_gif.gif new file mode 100644 index 000000000..451aae4e9 Binary files /dev/null and b/product_sales_by_location/static/description/assets/screenshots/v18_gif.gif differ diff --git a/product_sales_by_location/static/description/assets/y18.jpg b/product_sales_by_location/static/description/assets/y18.jpg new file mode 100755 index 000000000..eea1714f2 Binary files /dev/null and b/product_sales_by_location/static/description/assets/y18.jpg differ diff --git a/product_sales_by_location/static/description/banner.png b/product_sales_by_location/static/description/banner.png new file mode 100644 index 000000000..53829b13a Binary files /dev/null and b/product_sales_by_location/static/description/banner.png differ diff --git a/product_sales_by_location/static/description/icon.png b/product_sales_by_location/static/description/icon.png new file mode 100644 index 000000000..3fd842de6 Binary files /dev/null and b/product_sales_by_location/static/description/icon.png differ diff --git a/product_sales_by_location/static/description/index.html b/product_sales_by_location/static/description/index.html new file mode 100644 index 000000000..beb766ae6 --- /dev/null +++ b/product_sales_by_location/static/description/index.html @@ -0,0 +1,1019 @@ + + + + + + Product Sales By Location + + + + + + + + + + +
+
+ + + +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+
+

+ This App Enables Users To Select A Location On A Sales Order Line, Impacting Product Delivery, Sale Order Creation, And Visibility In Sales Reports And The Customer Portal. +

+

Product Sales By Location +

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

Key + Highlights

+
+
+
+
+ +
+
+ Location On Sale Order Line +
+

+ Allows users to set a Location on sale order line in Odoo.

+
+
+
+
+
+ +
+
+ Multiple Location Support +
+

+ Whatever Location is selected on sale order lines, the product will be delivered from the selected location. +

+
+
+
+
+
+ +
+
+ Location In Report +
+

+ We Can See the Location in Sale Order Report. +

+
+
+
+
+ +
+
+
+ Product Sales By Location +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + + +
+
+ +
+
+
+
+ acc_bg +
+ +
+
+
+
+

+ Location on Sale Order Line + + +

+
+
+

+ Set the Location in the Sale Order Line in odoo. +

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

+ Delivery + +

+
+
+

+ Corresponding Delivery Will Created. +

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

+ All Deliveries +

+
+
+

+ We can see the deliveries in the Delivery smart button. + +

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

+ Form View Of Delivery + +

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

+ Validate Delivery + +

+
+
+

+ Validating each delivery. +

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

+ Sale Order Report + +

+
+
+

+ We can see the Locations in Report. +

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

+ Allows users to set a Location on sale order line in Odoo.

+
+ +
+
+
+
+
+
+ +
+

+ Delivery Orders will be created based on selected location on sale order lines.

+
+
+
+
+
+
+
+ +
+

+ We Can See the Location in Report also.

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

+ The module allows users to specify the inventory location for products in the sale order line. This helps manage stock from multiple locations and ensures the correct inventory location is used for product delivery. +

+
+
+ +
+ +
+

+ Yes, each product in the sale order can have a different inventory location assigned, allowing flexibility in managing stock from various locations. + +

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

+ Latest Release 18.0.1.0.0 +

+ + 7th November, 2024 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + +
+

+ Related Products +

+ +
+ + +
+

+ Our Services

+ +
+ +
+
+ .... +
+
+ +
+ + +
+
+ + + + + + diff --git a/product_sales_by_location/views/sale_order_views.xml b/product_sales_by_location/views/sale_order_views.xml new file mode 100644 index 000000000..fbbdabdd5 --- /dev/null +++ b/product_sales_by_location/views/sale_order_views.xml @@ -0,0 +1,17 @@ + + + + + + sale.order.view.form.inherit.product.sales.by.location + + sale.order + + + + + + + + diff --git a/product_sales_by_location/views/sale_portal_templates.xml b/product_sales_by_location/views/sale_portal_templates.xml new file mode 100644 index 000000000..87c935841 --- /dev/null +++ b/product_sales_by_location/views/sale_portal_templates.xml @@ -0,0 +1,20 @@ + + + + +