diff --git a/project_acceptance/__manifest__.py b/project_acceptance/__manifest__.py index b188914a..058c6c72 100644 --- a/project_acceptance/__manifest__.py +++ b/project_acceptance/__manifest__.py @@ -19,6 +19,9 @@ 'views/project_portal_templates.xml', 'views/project_views.xml', ], + 'demo': [ + 'demo/project_exception_demo.xml', + ], 'installable': True, 'auto_install': False, } diff --git a/project_acceptance/demo/project_exception_demo.xml b/project_acceptance/demo/project_exception_demo.xml new file mode 100644 index 00000000..16f95e92 --- /dev/null +++ b/project_acceptance/demo/project_exception_demo.xml @@ -0,0 +1,13 @@ + + + + + Task Acceptance is Blank + When task stage changes and requires acceptance and task acceptance is blank + 50 + project.task + if not task.task_acceptance and task.stage_id.requires_acceptance: failed=True + + + + diff --git a/project_acceptance/models/project.py b/project_acceptance/models/project.py index c28abcea..b01f461f 100644 --- a/project_acceptance/models/project.py +++ b/project_acceptance/models/project.py @@ -1,13 +1,11 @@ from odoo import api, fields, models -class ProjectProjectStage(models.Model): - _inherit = 'project.project.stage' - - requires_acceptance = fields.Boolean('Require Acceptance') - -class ProjectTask(models.Model): - _inherit = 'project.task' - +class Task(models.Model): + _inherit = 'project.task' task_acceptance = fields.Selection([('accept', 'Accepted'), ('decline', 'Decline'), ('feedback', 'Feedback Provided')],'Task Acceptance', traking=True) - \ No newline at end of file + + +class ProjectTaskType(models.Model): + _inherit = 'project.task.type' + requires_acceptance = fields.Boolean('Require Acceptance') diff --git a/project_acceptance/views/project_views.xml b/project_acceptance/views/project_views.xml index 8fadc412..36c03fb3 100644 --- a/project_acceptance/views/project_views.xml +++ b/project_acceptance/views/project_views.xml @@ -12,4 +12,15 @@ + + project.task.type.tree.inherit.exception + project.task.type + + + + + + + +