From 9c5bdf245182fc926f16a2f6f219eed69c5c59d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 4 Oct 2018 13:41:50 +0200 Subject: [PATCH] Use write mode by default to check create and delete of resources It is less astonishing for the user and it allows to customize easily the check to perform per model. issue7717 review54371002 --- CHANGELOG | 2 ++ trytond/ir/resource.py | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 2a67c58db0..a3e1e2a55a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +* Use write mode by default to check create and delete of resources + Version 5.0.0 - 2018-10-01 * Bug fixes (see mercurial logs for details) * Allow non translatable reports diff --git a/trytond/ir/resource.py b/trytond/ir/resource.py index 413f11b092..1b796dc82a 100644 --- a/trytond/ir/resource.py +++ b/trytond/ir/resource.py @@ -69,7 +69,14 @@ class ResourceMixin(ModelSQL, ModelView): if record.resource: model_names.add(str(record.resource).split(',')[0]) for model_name in model_names: - ModelAccess.check(model_name, mode=mode) + checks = cls._convert_check_access(model_name, mode) + for model, check_mode in checks: + ModelAccess.check(model, mode=check_mode) + + @classmethod + def _convert_check_access(cls, model, mode): + return [ + (model, {'create': 'write', 'delete': 'write'}.get(mode, mode))] @classmethod def read(cls, ids, fields_names=None):