diff --git a/event_sale_balance/models/__init__.py b/event_sale_balance/models/__init__.py
index cdea0ac..aebe6ba 100644
--- a/event_sale_balance/models/__init__.py
+++ b/event_sale_balance/models/__init__.py
@@ -1,2 +1,3 @@
from . import event_registration
from . import product_product
+from . import product_template
diff --git a/event_sale_balance/models/event_registration.py b/event_sale_balance/models/event_registration.py
index d55c4fc..6c7ba3a 100644
--- a/event_sale_balance/models/event_registration.py
+++ b/event_sale_balance/models/event_registration.py
@@ -11,8 +11,10 @@ class EventRegistration(models.Model):
bal_prod = tic_prod.balance_variant_id
if tic_prod.is_event_deposit and bal_prod:
order = regis.sale_order_id
- lines = order.order_line
- line = lines.filtered(lambda sol: sol.product_id == bal_prod, limit=1)
+ lines = order.order_line.filtered(
+ lambda sol: sol.product_id == bal_prod
+ )
+ line = lines and lines[0]
if line:
# Update existing line
update_values = order._prepare_order_line_update_values(
@@ -22,5 +24,13 @@ class EventRegistration(models.Model):
order._update_cart_line_values(line, update_values)
else:
# Create new line
- line_values = order._prepare_order_line_values(bal_prod, 1)
+ line_values = order._prepare_order_line_values(bal_prod.id, 1)
line.sudo().create(line_values)
+ if len(self) == 1 and self.env.context.get("open_sale_order", False):
+ return {
+ "type": "ir.actions.act_window",
+ "view_mode": "form",
+ "res_model": "sale.order",
+ "res_id": self.id,
+ "target": "current",
+ }
diff --git a/event_sale_balance/models/product_template.py b/event_sale_balance/models/product_template.py
new file mode 100644
index 0000000..3bfbf6b
--- /dev/null
+++ b/event_sale_balance/models/product_template.py
@@ -0,0 +1,8 @@
+from odoo import models, fields
+
+
+class ProductTemplate(models.Model):
+ _inherit = "product.template"
+
+ is_event_deposit = fields.Boolean("Event deposit")
+ balance_variant_id = fields.Many2one("product.product", string="Balance variant")
diff --git a/event_sale_balance/views/product_product.xml b/event_sale_balance/views/product_product.xml
index ca2b091..bfc5c27 100644
--- a/event_sale_balance/views/product_product.xml
+++ b/event_sale_balance/views/product_product.xml
@@ -6,9 +6,12 @@
product.product
+
+
+
-
+
@@ -22,7 +25,7 @@
-
+