[MERGE] forward port branch 11.0 up to 5a943390f2

This commit is contained in:
Christophe Simonis
2018-05-15 20:18:14 +02:00
17 changed files with 74 additions and 26 deletions
+6
View File
@@ -1020,6 +1020,12 @@ msgstr ""
msgid "Ending Date"
msgstr ""
#. module: project
#: code:addons/project/models/project.py:556
#, python-format
msgid "Error! You cannot create recursive hierarchy of task(s)."
msgstr ""
#. module: project
#: sql_constraint:project.project:0
msgid "Error! project start-date must be lower than project end-date."
+20
View File
@@ -641,6 +641,12 @@ class Task(models.Model):
default['remaining_hours'] = self.planned_hours
return super(Task, self).copy(default)
@api.constrains('parent_id')
def _check_parent_id(self):
for task in self:
if not task._check_recursion():
raise ValidationError(_('Error! You cannot create recursive hierarchy of task(s).'))
# Override view according to the company definition
@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
@@ -1002,6 +1008,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.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.project_id.id),
})
action['context'] = ctx
action['domain'] = [('id', 'child_of', self.id), ('id', '!=', self.id)]
return action
# ---------------------------------------------------
# Rating business
# ---------------------------------------------------
+1 -9
View File
@@ -84,14 +84,6 @@
<field name="name">Sub-tasks</field>
<field name="res_model">project.task</field>
<field name="view_mode">kanban,tree,form,calendar,pivot,graph</field>
<field name="domain">[('id', 'child_of', active_id), ('id', '!=', active_id)]</field>
<field name="context">
{
'default_parent_id' : active_id,
'default_project_id' : project_id,
'default_name' : name + ':',
}
</field>
<field name="search_view_id" ref="project.view_task_search_form"/>
</record>
@@ -424,7 +416,7 @@
<sheet string="Task">
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" icon="fa-tasks" type="object" name="action_open_parent_task" string="Parent Task" attrs="{'invisible' : [('parent_id', '=', False)]}" groups="project.group_subtask_project"/>
<button id="subtask_stat_button" name="%(project_task_action_sub_task)d" type="action" class="oe_stat_button" icon="fa-tasks"
<button name="action_subtask" type="object" class="oe_stat_button" icon="fa-tasks"
attrs="{'invisible' : [('parent_id', '!=', False)]}"
context="{'project_id': project_id, 'name': name, 'parent_id': id}" groups="project.group_subtask_project">
<field string="Sub-tasks" name="subtask_count" widget="statinfo"/>