diff options
Diffstat (limited to 'addons/project/models/project.py')
| -rw-r--r-- | addons/project/models/project.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/addons/project/models/project.py b/addons/project/models/project.py index abfee026479..896e972f6d5 100644 --- a/addons/project/models/project.py +++ b/addons/project/models/project.py @@ -271,7 +271,9 @@ class Project(models.Model): def map_tasks(self, new_project_id): """ copy and map tasks from old to new project """ tasks = self.env['project.task'] - for task in self.tasks: + # We want to copy archived task, but do not propagate an active_test context key + task_ids = self.env['project.task'].with_context(active_test=False).search([('project_id', '=', self.id)]).ids + for task in self.env['project.task'].browse(task_ids): # preserve task name and stage, normally altered during copy defaults = {'stage_id': task.stage_id.id, 'name': task.name} @@ -283,7 +285,6 @@ class Project(models.Model): def copy(self, default=None): if default is None: default = {} - self = self.with_context(active_test=False) if not default.get('name'): default['name'] = _("%s (copy)") % (self.name) project = super(Project, self).copy(default) |
