summaryrefslogtreecommitdiff
path: root/addons/fleet/tests
diff options
context:
space:
mode:
authoruso-odoo <uso@odoo.com>2020-07-15 07:34:40 +0000
committerBarad Mahendra <mba@openerp.com>2020-10-20 10:17:30 +0000
commit81098122c574ab701dfad610a26cfad1bb1b9b84 (patch)
treea7ea305aeb7818f70eddc55cb0b313bfb07f21c7 /addons/fleet/tests
parentecb56a6893dd7b76402c2262fb93f8dea079fde0 (diff)
[FIX] fleet: Fix access error on assign driver linked to internal user
Currently, Failing at base/models/res_partner.py#L535 We write on the partner because of the related `plan_to_change_car` When Assign driver linked to internal user without admin rights it gives an error in security rules due to write on partner. So while creating the vehicle when driver is assigned pop the value for related field plan_to_change_car and rewrite the same with sudo. closes odoo/odoo#60353 Issue: #54199 Taskid: 2309192 X-original-commit: af21dba516de688743f75e6ffb3bc3341578e37a Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com> Co-authored-by: LucasLefevre <lul@odoo.com>
Diffstat (limited to 'addons/fleet/tests')
-rw-r--r--addons/fleet/tests/__init__.py4
-rw-r--r--addons/fleet/tests/test_access_rights.py22
2 files changed, 26 insertions, 0 deletions
diff --git a/addons/fleet/tests/__init__.py b/addons/fleet/tests/__init__.py
new file mode 100644
index 00000000000..ed30c97c0e0
--- /dev/null
+++ b/addons/fleet/tests/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import test_access_rights
diff --git a/addons/fleet/tests/test_access_rights.py b/addons/fleet/tests/test_access_rights.py
new file mode 100644
index 00000000000..2fc9014926a
--- /dev/null
+++ b/addons/fleet/tests/test_access_rights.py
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo.tests import common, new_test_user
+
+
+class TestFleet(common.SavepointCase):
+
+ def test_manager_create_vehicle(self):
+ manager = new_test_user(self.env, "test fleet manager", groups="fleet.fleet_group_manager,base.group_partner_manager")
+ user = new_test_user(self.env, "test base user", groups="base.group_user")
+ brand = self.env["fleet.vehicle.model.brand"].create({
+ "name": "Audi",
+ })
+ model = self.env["fleet.vehicle.model"].create({
+ "brand_id": brand.id,
+ "name": "A3",
+ })
+ self.env["fleet.vehicle"].with_user(manager).create({
+ "model_id": model.id,
+ "driver_id": user.partner_id.id,
+ "plan_to_change_car": False
+ })