14.0 allow assigned portal users #14
@@ -3,7 +3,7 @@
|
||||
|
||||
{
|
||||
"name": "project_assignees",
|
||||
"version": "14.0.1.2.0",
|
||||
"version": "14.0.1.3.0",
|
||||
"author": "Elabore",
|
||||
"website": "https://github.com/elabore-coop/project-tools",
|
||||
"maintainer": "Stéphan Sainléger",
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
from odoo import models, fields
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class Task(models.Model):
|
||||
@@ -7,3 +7,17 @@ class Task(models.Model):
|
||||
|
||||
assignee_ids = fields.Many2many('res.users', 'assignee_ids_rel', string='Assignees', tracking=True)
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
'''
|
||||
assigned project manager to the task if nobody else is assigned to
|
||||
'''
|
||||
assignee_ids = vals.get('assignee_ids')
|
||||
project_id = vals.get('project_id')
|
||||
if project_id and self.env['project.project'].browse(project_id):
|
||||
project = self.env['project.project'].browse(project_id)
|
||||
if project.user_id:
|
||||
default_assignee_id = project.user_id.id
|
||||
if not assignee_ids or (assignee_ids and not assignee_ids[0][2]): #if assignee_ids doesnt existe or assignee_ids existe but is empty
|
||||
vals['assignee_ids'] = [[6,0,[default_assignee_id]]]
|
||||
return super().create(vals)
|
@@ -26,4 +26,16 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_task_form2_allow_portal_users_as_assignee" model="ir.ui.view">
|
||||
<field name="name">view.task.form2.allow.portal.users.as.assignee</field>
|
||||
<field name="model">project.task</field>
|
||||
<field name="inherit_id" ref="project.view_task_form2" />
|
||||
<field name="priority" eval="99" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='user_id']" position="attributes">
|
||||
<attribute name="domain">[('share', '=', True)]</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
Reference in New Issue
Block a user