From fab7aa7de23d2e8cb17421c16c6e974d850f24df Mon Sep 17 00:00:00 2001 From: Kay0u Date: Wed, 29 Jan 2020 21:17:14 +0700 Subject: [PATCH] more informations in hooks permission --- src/yunohost/permission.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/yunohost/permission.py b/src/yunohost/permission.py index 9cc7c7534..9d3d8feda 100644 --- a/src/yunohost/permission.py +++ b/src/yunohost/permission.py @@ -471,16 +471,22 @@ def _update_ldap_group_permission(permission, allowed, sync_perm=True): app = permission.split(".")[0] sub_permission = permission.split(".")[1] - old_allowed_users = set(existing_permission["corresponding_users"]) - new_allowed_users = set(new_permission["corresponding_users"]) + old_corresponding_users = set(existing_permission["corresponding_users"]) + new_corresponding_users = set(new_permission["corresponding_users"]) - effectively_added_users = new_allowed_users - old_allowed_users - effectively_removed_users = old_allowed_users - new_allowed_users + old_allowed_users = set(existing_permission["allowed"]) + new_allowed_users = set(new_permission["allowed"]) - if effectively_added_users: - hook_callback('post_app_addaccess', args=[app, ','.join(effectively_added_users), sub_permission]) - if effectively_removed_users: - hook_callback('post_app_removeaccess', args=[app, ','.join(effectively_removed_users), sub_permission]) + effectively_added_users = new_corresponding_users - old_corresponding_users + effectively_removed_users = old_corresponding_users - new_corresponding_users + + effectively_added_group = new_allowed_users - old_allowed_users - effectively_added_users + effectively_removed_group = old_allowed_users - new_allowed_users - effectively_removed_users + + if effectively_added_users or effectively_added_group: + hook_callback('post_app_addaccess', args=[app, ','.join(effectively_added_users), sub_permission, ','.join(effectively_added_group)]) + if effectively_removed_users or effectively_removed_group: + hook_callback('post_app_removeaccess', args=[app, ','.join(effectively_removed_users), sub_permission, ','.join(effectively_removed_group)]) return new_permission