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"/>
-