diff --git a/event_project/models/event_event.py b/event_project/models/event_event.py
index 9b81e4a30..880236268 100644
--- a/event_project/models/event_event.py
+++ b/event_project/models/event_event.py
@@ -25,9 +25,9 @@ def _count_tasks(self):
self.count_tasks = len(self.task_ids)
def project_data_update(self, vals):
+ recalculate = False
if self.project_id:
project_vals = {}
- recalculate = False
if vals.get('name'):
project_vals['name'] = self.name
if vals.get('date_begin'):
@@ -38,9 +38,12 @@ def project_data_update(self, vals):
recalculate = True
if project_vals:
self.project_id.write(project_vals)
- if recalculate:
- self.project_id.project_recalculate()
- return True
+ return recalculate
+ return False
+
+ def project_free(self, vals):
+ if self.project_id and vals.get('project_id') is False:
+ self.project_id.write({'event_id': False})
@api.model
def create(self, vals):
@@ -50,8 +53,9 @@ def create(self, vals):
@api.one
def write(self, vals):
+ self.project_free(vals)
super(EventEvent, self).write(vals)
- if self.env.context.get('no_recalculate'):
- return True
- self.project_data_update(vals)
+ recalculate = self.project_data_update(vals)
+ if recalculate and not self.env.context.get('no_recalculate'):
+ self.project_id.project_recalculate()
return True
diff --git a/event_project/views/event_event_view.xml b/event_project/views/event_event_view.xml
index 4f8c907d8..36d5cbfa5 100644
--- a/event_project/views/event_event_view.xml
+++ b/event_project/views/event_event_view.xml
@@ -23,7 +23,8 @@
name="%(action_project_template_wizard)d" type="action"/>