diff --git a/addons/project/models/project.py b/addons/project/models/project.py
index d25de3f6ab4..b00b160ae2b 100644
--- a/addons/project/models/project.py
+++ b/addons/project/models/project.py
@@ -877,6 +877,20 @@ class Task(models.Model):
'type': 'ir.actions.act_window'
}
+ def action_subtask(self):
+ action = self.env.ref('project.project_task_action_sub_task').read()[0]
+ ctx = self.env.context.copy()
+ ctx.update({
+ 'default_parent_id' : self.id,
+ 'default_project_id' : self.env.context.get('project_id', self.subtask_project_id.id),
+ 'default_name' : self.env.context.get('name', self.name) + ':',
+ 'default_partner_id' : self.env.context.get('partner_id', self.partner_id.id),
+ 'search_default_project_id': self.env.context.get('project_id', self.subtask_project_id.id),
+ })
+ action['context'] = ctx
+ action['domain'] = [('id', 'child_of', self.id), ('id', '!=', self.id)]
+ return action
+
class AccountAnalyticAccount(models.Model):
_inherit = 'account.analytic.account'
diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml
index 9ebcef69138..bf1e63a5599 100644
--- a/addons/project/views/project_views.xml
+++ b/addons/project/views/project_views.xml
@@ -84,16 +84,6 @@
Sub-tasks
project.task
kanban,tree,form,calendar,pivot,graph
- [('id', 'child_of', active_id), ('id', '!=', active_id)]
-
- {
- 'default_parent_id' : active_id,
- 'default_project_id' : project_id,
- 'default_name' : name + ':',
- 'default_partner_id' : partner_id,
- 'search_default_project_id': [project_id],
- }
-
@@ -403,7 +393,7 @@
-