From 2587cfa99972f5623cd601a13d3dd388c8baa0b3 Mon Sep 17 00:00:00 2001 From: Fabien BOURGEOIS Date: Thu, 9 Apr 2020 15:07:11 +0200 Subject: [PATCH] [ADD]Odoo Right plugin : allow write on contacts --- radicale_odoo_right/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/radicale_odoo_right/__init__.py b/radicale_odoo_right/__init__.py index 5040386..7ada513 100644 --- a/radicale_odoo_right/__init__.py +++ b/radicale_odoo_right/__init__.py @@ -17,8 +17,10 @@ """ Odoo Radicale Rights Plugin """ +import logging from configparser import Error from radicale.rights import BaseRights +_logger = logging.getLogger(__name__) class Rights(BaseRights): @@ -33,4 +35,7 @@ class Rights(BaseRights): path = path.strip('/').split('/') if user != path[0]: return False - return permission == 'r' + # Authorize if readonly or read-write for odoo-contact + is_main = (len(path) == 1 and user == path[0]) + is_odoo_contact = (len(path) > 1 and path[1] == 'odoo-contact') + return is_main or is_odoo_contact or permission == 'r'