[WIP] project_acceptance: clients can easily approve or decline a task; exception added

H11043
This commit is contained in:
Percy Che
2022-10-04 03:40:41 +00:00
parent 81858d49f1
commit 48ff40dcd4
4 changed files with 34 additions and 9 deletions

View File

@@ -19,6 +19,9 @@
'views/project_portal_templates.xml', 'views/project_portal_templates.xml',
'views/project_views.xml', 'views/project_views.xml',
], ],
'demo': [
'demo/project_exception_demo.xml',
],
'installable': True, 'installable': True,
'auto_install': False, 'auto_install': False,
} }

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="except_no_project_id" model="exception.rule">
<field name="name">Task Acceptance is Blank</field>
<field name="description">When task stage changes and requires acceptance and task acceptance is blank</field>
<field name="sequence">50</field>
<field name="model">project.task</field>
<field name="code">if not task.task_acceptance and task.stage_id.requires_acceptance: failed=True</field>
<field name="active" eval="False"/>
</record>
</odoo>

View File

@@ -1,13 +1,11 @@
from odoo import api, fields, models from odoo import api, fields, models
class ProjectProjectStage(models.Model): class Task(models.Model):
_inherit = 'project.project.stage'
requires_acceptance = fields.Boolean('Require Acceptance')
class ProjectTask(models.Model):
_inherit = 'project.task' _inherit = 'project.task'
task_acceptance = fields.Selection([('accept', 'Accepted'), ('decline', 'Decline'), ('feedback', 'Feedback Provided')],'Task Acceptance', traking=True) task_acceptance = fields.Selection([('accept', 'Accepted'), ('decline', 'Decline'), ('feedback', 'Feedback Provided')],'Task Acceptance', traking=True)
class ProjectTaskType(models.Model):
_inherit = 'project.task.type'
requires_acceptance = fields.Boolean('Require Acceptance')

View File

@@ -12,4 +12,15 @@
</field> </field>
</record> </record>
<record id="view_task_type_tree" model="ir.ui.view">
<field name="name">project.task.type.tree.inherit.exception</field>
<field name="model">project.task.type</field>
<field name="inherit_id" ref="project.task_type_tree"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
<field name="requires_acceptance"/>
</field>
</field>
</record>
</odoo> </odoo>