[IMP] project: link private tasks to personal stages in form view

This commits adds a status bar with the user's personal stages
in a private task form view.

Task-2741733

Part-of: odoo/odoo#86008
This commit is contained in:
Vincent Larcin
2022-05-05 15:14:34 +02:00
committed by Laurent Stukkens (LTU)
parent 483a4358a8
commit 689ebe4a1c
2 changed files with 8 additions and 1 deletions
+7 -1
View File
@@ -958,6 +958,12 @@ class Task(models.Model):
return False
return self.stage_find(project_id, [('fold', '=', False)])
@api.model
def _default_personal_stage_type_id(self):
if self._context.get('default_project_id'):
return False
return self.env['project.task.type'].search([('user_id', '=', self.env.user.id)], limit=1).id
@api.model
def _default_company_id(self):
if self._context.get('default_project_id'):
@@ -1035,7 +1041,7 @@ class Task(models.Model):
# saying the field cannot be searched.
personal_stage_type_id = fields.Many2one('project.task.type', string='Personal User Stage',
compute='_compute_personal_stage_type_id', inverse='_inverse_personal_stage_type_id', store=False,
search='_search_personal_stage_type_id',
search='_search_personal_stage_type_id', default=_default_personal_stage_type_id,
help="The current user's personal task stage.")
partner_id = fields.Many2one('res.partner',
string='Customer', recursive=True, tracking=True,
+1
View File
@@ -905,6 +905,7 @@
<button name="action_assign_to_me" string="Assign to Me" type="object" attrs="{'invisible': &quot;['|', ('user_ids', 'in', uid), ('user_ids', '=', [])]&quot;}" data-hotkey="q"/>
<button name="action_assign_to_me" string="Assign to Me" type="object" class="oe_highlight" attrs="{'invisible' : &quot;['|', ('user_ids', 'in', uid), ('user_ids', '!=', [])]&quot;}" data-hotkey="q"/>
<field name="stage_id" widget="statusbar" options="{'clickable': '1', 'fold_field': 'fold'}" attrs="{'invisible': [('project_id', '=', False), ('stage_id', '=', False)]}"/>
<field name="personal_stage_type_id" widget="statusbar" options="{'clickable': '1', 'fold_field': 'fold'}" attrs="{'invisible': [('project_id', '!=', False)]}" domain="[('user_id', '=', uid)]"/>
</header>
<div class="alert alert-info oe_edit_only mb-0" role="status" attrs="{'invisible': ['|', ('recurring_task', '=', False), ('recurrence_id', '=', False)]}">
<p>Edit recurring task</p>