diff --git a/product_combo_pack/README.rst b/product_combo_pack/README.rst old mode 100644 new mode 100755 diff --git a/product_combo_pack/__init__.py b/product_combo_pack/__init__.py old mode 100644 new mode 100755 diff --git a/product_combo_pack/__manifest__.py b/product_combo_pack/__manifest__.py old mode 100644 new mode 100755 diff --git a/product_combo_pack/doc/RELEASE_NOTES.md b/product_combo_pack/doc/RELEASE_NOTES.md old mode 100644 new mode 100755 diff --git a/product_combo_pack/models/__init__.py b/product_combo_pack/models/__init__.py old mode 100644 new mode 100755 diff --git a/product_combo_pack/models/pack_products.py b/product_combo_pack/models/pack_products.py old mode 100644 new mode 100755 diff --git a/product_combo_pack/models/product_template.py b/product_combo_pack/models/product_template.py old mode 100644 new mode 100755 index 2669560c9..4d70a52e7 --- a/product_combo_pack/models/product_template.py +++ b/product_combo_pack/models/product_template.py @@ -93,7 +93,6 @@ class ProductPack(models.Model): """Update the list price of the product with the pack price.""" self.list_price = self.pack_price - def get_quantity(self): """Calculate the pack quantity based on the availability of pack products.""" @@ -126,13 +125,12 @@ class ProductPack(models.Model): if not location_id: raise UserError(_( 'You need to select the location to update the pack quantity...!')) - new_quantity = self.env['stock.quant'].with_context(inventory_mode=True).sudo().create( + self.env['stock.quant'].with_context(inventory_mode=True).sudo().create( { 'product_id': product_id, 'location_id': location_id, 'inventory_quantity': self.pack_quantity, }) - new_quantity.action_apply_inventory() @api.onchange('pack_location_id') def change_quantity_based_on_location(self): diff --git a/product_combo_pack/models/sale_order.py b/product_combo_pack/models/sale_order.py old mode 100644 new mode 100755 index ef117af0f..48846ebc0 --- a/product_combo_pack/models/sale_order.py +++ b/product_combo_pack/models/sale_order.py @@ -21,27 +21,35 @@ # ################################################################################ from odoo import api, fields, models +from collections import defaultdict class SalePack(models.Model): """Model for extending the sale order to include a selection of packs.""" _inherit = 'sale.order' - product_pack_id = fields.Many2one('product.product', string='Select Pack', - domain=[('is_pack', '=', True)], - help='The selected pack product for' - ' the sale order.') + product_pack_id = fields.Many2many('product.product', string='Select Pack', + domain=[('is_pack', '=', True)], + help='The selected pack product for' + ' the sale order.') @api.onchange('product_pack_id') def onchange_product_pack_id(self): """Perform actions when the selected pack product changes.""" if self.product_pack_id: - self.order_line = [(0, 0, { - 'product_id': self.product_pack_id.id, - 'name': self.product_pack_id.name, - 'product_uom_qty': 1, - 'price_unit': self.product_pack_id.list_price, - })] + new_order_lines = [] + for rec in self.product_pack_id: + product_already_added = any( + line.product_id.id == rec._origin.id for line in + self.order_line) + if not product_already_added: + new_order_lines.append((0, 0, { + 'product_id': rec.id, + 'name': rec.name, + 'product_uom_qty': 1, + 'price_unit': rec.pack_price, + })) + self.order_line = new_order_lines elif not self.product_pack_id: self.order_line = [(5, 0, 0)] diff --git a/product_combo_pack/security/ir.model.access.csv b/product_combo_pack/security/ir.model.access.csv old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/check.png b/product_combo_pack/static/description/assets/icons/check.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/chevron.png b/product_combo_pack/static/description/assets/icons/chevron.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/cogs.png b/product_combo_pack/static/description/assets/icons/cogs.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/consultation.png b/product_combo_pack/static/description/assets/icons/consultation.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/ecom-black.png b/product_combo_pack/static/description/assets/icons/ecom-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/education-black.png b/product_combo_pack/static/description/assets/icons/education-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/hotel-black.png b/product_combo_pack/static/description/assets/icons/hotel-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/license.png b/product_combo_pack/static/description/assets/icons/license.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/lifebuoy.png b/product_combo_pack/static/description/assets/icons/lifebuoy.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/manufacturing-black.png b/product_combo_pack/static/description/assets/icons/manufacturing-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/pos-black.png b/product_combo_pack/static/description/assets/icons/pos-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/puzzle.png b/product_combo_pack/static/description/assets/icons/puzzle.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/restaurant-black.png b/product_combo_pack/static/description/assets/icons/restaurant-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/service-black.png b/product_combo_pack/static/description/assets/icons/service-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/trading-black.png b/product_combo_pack/static/description/assets/icons/trading-black.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/training.png b/product_combo_pack/static/description/assets/icons/training.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/update.png b/product_combo_pack/static/description/assets/icons/update.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/user.png b/product_combo_pack/static/description/assets/icons/user.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/icons/wrench.png b/product_combo_pack/static/description/assets/icons/wrench.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/categories.png b/product_combo_pack/static/description/assets/misc/categories.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/check-box.png b/product_combo_pack/static/description/assets/misc/check-box.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/compass.png b/product_combo_pack/static/description/assets/misc/compass.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/corporate.png b/product_combo_pack/static/description/assets/misc/corporate.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/customer-support.png b/product_combo_pack/static/description/assets/misc/customer-support.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/cybrosys-logo.png b/product_combo_pack/static/description/assets/misc/cybrosys-logo.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/features.png b/product_combo_pack/static/description/assets/misc/features.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/logo.png b/product_combo_pack/static/description/assets/misc/logo.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/pictures.png b/product_combo_pack/static/description/assets/misc/pictures.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/pie-chart.png b/product_combo_pack/static/description/assets/misc/pie-chart.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/right-arrow.png b/product_combo_pack/static/description/assets/misc/right-arrow.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/star.png b/product_combo_pack/static/description/assets/misc/star.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/support.png b/product_combo_pack/static/description/assets/misc/support.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/misc/whatsapp.png b/product_combo_pack/static/description/assets/misc/whatsapp.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/1.png b/product_combo_pack/static/description/assets/modules/1.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/2.png b/product_combo_pack/static/description/assets/modules/2.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/3.png b/product_combo_pack/static/description/assets/modules/3.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/4.png b/product_combo_pack/static/description/assets/modules/4.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/5.gif b/product_combo_pack/static/description/assets/modules/5.gif old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/modules/6.png b/product_combo_pack/static/description/assets/modules/6.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/1.png b/product_combo_pack/static/description/assets/screenshots/1.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/2.png b/product_combo_pack/static/description/assets/screenshots/2.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/3.png b/product_combo_pack/static/description/assets/screenshots/3.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/4.png b/product_combo_pack/static/description/assets/screenshots/4.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/5.png b/product_combo_pack/static/description/assets/screenshots/5.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/6.png b/product_combo_pack/static/description/assets/screenshots/6.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/7.png b/product_combo_pack/static/description/assets/screenshots/7.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/assets/screenshots/hero.gif b/product_combo_pack/static/description/assets/screenshots/hero.gif old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/banner.png b/product_combo_pack/static/description/banner.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/icon.png b/product_combo_pack/static/description/icon.png old mode 100644 new mode 100755 diff --git a/product_combo_pack/static/description/index.html b/product_combo_pack/static/description/index.html old mode 100644 new mode 100755 diff --git a/product_combo_pack/views/product_form_views.xml b/product_combo_pack/views/product_form_views.xml old mode 100644 new mode 100755 index 7902029a0..f8a572a49 --- a/product_combo_pack/views/product_form_views.xml +++ b/product_combo_pack/views/product_form_views.xml @@ -47,9 +47,7 @@ + string="Update Price"/> -