diff --git a/addons/project/models/project_project.py b/addons/project/models/project_project.py index 4f1f6cb0854..dd6556f341f 100644 --- a/addons/project/models/project_project.py +++ b/addons/project/models/project_project.py @@ -16,7 +16,7 @@ from .project_task import CLOSED_STATES class Project(models.Model): _name = "project.project" _description = "Project" - _inherit = ['portal.mixin', 'mail.alias.mixin', 'mail.thread', 'mail.activity.mixin', 'rating.parent.mixin'] + _inherit = ['portal.mixin', 'mail.alias.mixin', 'rating.parent.mixin', 'mail.thread', 'mail.activity.mixin'] _order = "sequence, name, id" _rating_satisfaction_days = 30 # takes 30 days by default _check_company_auto = True diff --git a/addons/project/tests/test_project_base.py b/addons/project/tests/test_project_base.py index 1807f83fcb0..b1f417db3bb 100644 --- a/addons/project/tests/test_project_base.py +++ b/addons/project/tests/test_project_base.py @@ -226,3 +226,19 @@ class TestProjectBase(TestProjectCommon): self.assertEqual(ProjectTask.search([('project_root_id', '=?', project.id)]), tasks) self.assertEqual(ProjectTask.search([('project_root_id', 'not in', other_projects.ids), ('id', 'in', tasks.ids)]), tasks) self.assertEqual(ProjectTask.search([('project_root_id', '!=', self.project_pigs.id), ('id', 'in', tasks.ids)]), tasks) + + def test_add_customer_rating_project(self): + """ Tests that the rating_ids field contains a rating once created + """ + rate = self.env['rating.rating'].create({ + 'res_id': self.task_1.id, + 'parent_res_id': self.project_pigs.id, + 'res_model_id': self.env['ir.model']._get('project.task').id, + 'parent_res_model_id': self.env['ir.model']._get('project.project').id, + }) + rating = 5 + + self.task_1.rating_apply(rating, token=rate.access_token) + + self.project_pigs.rating_ids.invalidate_recordset() + self.assertEqual(len(self.project_pigs.rating_ids), 1, "There should be 1 rating linked to the project")