diff --git a/project_stock/tests/common.py b/project_stock/tests/common.py index eb7f9cb084..1eb846ff65 100644 --- a/project_stock/tests/common.py +++ b/project_stock/tests/common.py @@ -47,7 +47,7 @@ def setUpClass(cls): cls.stage_in_progress = cls.env.ref("project.project_stage_1") cls.stage_done = cls.env.ref("project.project_stage_2") group_stock_user = "stock.group_stock_user" - new_test_user( + cls.basic_user = new_test_user( cls.env, login="basic-user", groups="project.group_project_user,%s" % group_stock_user, diff --git a/project_stock/tests/test_project_stock.py b/project_stock/tests/test_project_stock.py index 53278fc331..3428d562d1 100644 --- a/project_stock/tests/test_project_stock.py +++ b/project_stock/tests/test_project_stock.py @@ -1,8 +1,9 @@ -# Copyright 2022-2023 Tecnativa - Víctor Martínez +# Copyright 2022-2024 Tecnativa - Víctor Martínez # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import fields from odoo.tests import Form from odoo.tests.common import users +from odoo.tools import mute_logger from .common import TestProjectStockBase @@ -81,6 +82,15 @@ def test_project_task_without_analytic_account(self): def test_project_task_without_analytic_account_manager_user(self): self.test_project_task_without_analytic_account() + def test_project_task_user_access_without_stock_group(self): + self.basic_user.write( + { + "groups_id": [(6, 0, [self.env.ref("project.group_project_user").id])], + } + ) + task_form = Form(self.task.with_user(self.basic_user)) + self.assertEqual(task_form.project_id, self.project) + def test_project_task_analytic_lines_without_tags(self): self.task = self.env["project.task"].browse(self.task.id) self.task.write({"stage_id": self.stage_done.id}) @@ -173,6 +183,7 @@ def test_project_task_process_done(self): def test_project_task_process_done_basic_user(self): self.test_project_task_process_done() + @mute_logger("odoo.models.unlink") def test_project_task_process_cancel(self): self.task = self.env["project.task"].browse(self.task.id) self.assertEqual(self.move_product_a.state, "draft") @@ -212,6 +223,7 @@ def test_project_task_process_cancel(self): def test_project_task_process_cancel_manager_user(self): self.test_project_task_process_cancel() + @mute_logger("odoo.models.unlink") def test_project_task_process_unreserve(self): self.task = self.env["project.task"].browse(self.task.id) self.assertEqual(self.move_product_a.state, "draft") @@ -233,6 +245,7 @@ def test_project_task_process_unreserve(self): self.assertEqual(self.move_product_b.reserved_availability, 0) self.assertFalse(self.task.unreserve_visible) + @mute_logger("odoo.models.unlink") def test_project_task_process_01(self): """Product A move cancel + Product B move OK.""" self.task = self.env["project.task"].browse(self.task.id) @@ -290,6 +303,7 @@ def test_project_task_action_done(self): def test_project_task_action_done_basic_user(self): self.test_project_task_action_done() + @mute_logger("odoo.models.unlink") def test_project_task_unlink(self): self.assertTrue(self.env["project.task"].browse(self.task.id).unlink()) @@ -297,6 +311,7 @@ def test_project_task_unlink(self): def test_project_task_unlink_basic_user(self): self.test_project_task_unlink() + @mute_logger("odoo.models.unlink") def test_project_project_onchange(self): new_type = self.env.ref("stock.picking_type_out") self.project.write({"picking_type_id": new_type.id}) diff --git a/project_stock/views/project_task_view.xml b/project_stock/views/project_task_view.xml index f5be5b1b36..0f5395c3e2 100644 --- a/project_stock/views/project_task_view.xml +++ b/project_stock/views/project_task_view.xml @@ -40,13 +40,14 @@ /> - +