mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Fix issues related to regerating ssowat conf while hacking permissions...
This commit is contained in:
parent
88794805eb
commit
2617fd2487
1 changed files with 10 additions and 5 deletions
|
@ -1245,14 +1245,17 @@ class RestoreManager():
|
|||
|
||||
# Remove all permission for all app which is still in the LDAP
|
||||
for permission_name in user_permission_list(ignore_system_perms=True)["permissions"].keys():
|
||||
permission_delete(permission_name, force=True)
|
||||
permission_delete(permission_name, force=True, sync_perm=False)
|
||||
|
||||
# Restore permission for the app which is installed
|
||||
for permission_name, permission_infos in old_apps_permission.items():
|
||||
app_name = permission_name.split(".")[0]
|
||||
if _is_installed(app_name):
|
||||
permission_create(permission_name, url=permission_infos["url"], sync_perm=False)
|
||||
user_permission_update(permission_name, remove="all_users", add=permission_infos["allowed"])
|
||||
user_permission_update(permission_name, remove="all_users", add=permission_infos["allowed"], sync_perm=False)
|
||||
|
||||
permission_sync_to_user()
|
||||
|
||||
|
||||
def _restore_apps(self):
|
||||
"""Restore all apps targeted"""
|
||||
|
@ -1290,7 +1293,7 @@ class RestoreManager():
|
|||
restore_app_failed -- Raised if the restore bash script failed
|
||||
"""
|
||||
from yunohost.user import user_group_list
|
||||
from yunohost.permission import permission_create, permission_delete, user_permission_list, user_permission_update
|
||||
from yunohost.permission import permission_create, permission_delete, user_permission_list, user_permission_update, permission_sync_to_user
|
||||
|
||||
def copytree(src, dst, symlinks=False, ignore=None):
|
||||
for item in os.listdir(src):
|
||||
|
@ -1362,7 +1365,7 @@ class RestoreManager():
|
|||
|
||||
for permission_name, permission_infos in permissions.items():
|
||||
|
||||
permission_create(permission_name, url=permission_infos.get("url", None))
|
||||
permission_create(permission_name, url=permission_infos.get("url", None), sync_perm=False)
|
||||
|
||||
if "allowed" not in permission_infos:
|
||||
logger.warning("'allowed' key corresponding to allowed groups for permission %s not found when restoring app %s … You might have to reconfigure permissions yourself." % (permission_name, app_instance_name))
|
||||
|
@ -1370,7 +1373,9 @@ class RestoreManager():
|
|||
should_be_allowed = [g for g in permission_infos["allowed"] if g in existing_groups]
|
||||
current_allowed = user_permission_list()["permissions"][permission_name]["allowed"]
|
||||
if should_be_allowed != current_allowed:
|
||||
user_permission_update(permission_name, remove=current_allowed, add=should_be_allowed)
|
||||
user_permission_update(permission_name, remove=current_allowed, add=should_be_allowed, sync_perm=False)
|
||||
|
||||
permission_sync_to_user()
|
||||
|
||||
os.remove('%s/permissions.yml' % app_settings_new_path)
|
||||
else:
|
||||
|
|
Loading…
Add table
Reference in a new issue