summaryrefslogtreecommitdiff
path: root/addons/project/models/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project/models/project.py')
-rw-r--r--addons/project/models/project.py5
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)