diff --git a/src/yunohost/backup.py b/src/yunohost/backup.py index 3087a15e9..5f6e3c258 100644 --- a/src/yunohost/backup.py +++ b/src/yunohost/backup.py @@ -1298,6 +1298,7 @@ class RestoreManager(): """ from moulinette.utils.filesystem import read_ldif from yunohost.user import user_group_list + from yunohost.permission import permission_remove def copytree(src, dst, symlinks=False, ignore=None): for item in os.listdir(src): @@ -1427,6 +1428,13 @@ class RestoreManager(): # Cleaning app directory shutil.rmtree(app_settings_new_path, ignore_errors=True) + # Remove all permission in LDAP + result = auth.search(base='ou=permission,dc=yunohost,dc=org', + filter='(&(objectclass=permissionYnh)(cn=*.%s))' % app_instance_name, attrs=['cn']) + permission_list = [p['cn'][0] for p in result] + for l in permission_list: + permission_remove(auth, app_instance_name, l.split('.')[0], force=True) + # TODO Cleaning app hooks else: self.targets.set_result("apps", app_instance_name, "Success")