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