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'