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
|
# 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():
|
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
|
# Restore permission for the app which is installed
|
||||||
for permission_name, permission_infos in old_apps_permission.items():
|
for permission_name, permission_infos in old_apps_permission.items():
|
||||||
app_name = permission_name.split(".")[0]
|
app_name = permission_name.split(".")[0]
|
||||||
if _is_installed(app_name):
|
if _is_installed(app_name):
|
||||||
permission_create(permission_name, url=permission_infos["url"], sync_perm=False)
|
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):
|
def _restore_apps(self):
|
||||||
"""Restore all apps targeted"""
|
"""Restore all apps targeted"""
|
||||||
|
@ -1290,7 +1293,7 @@ class RestoreManager():
|
||||||
restore_app_failed -- Raised if the restore bash script failed
|
restore_app_failed -- Raised if the restore bash script failed
|
||||||
"""
|
"""
|
||||||
from yunohost.user import user_group_list
|
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):
|
def copytree(src, dst, symlinks=False, ignore=None):
|
||||||
for item in os.listdir(src):
|
for item in os.listdir(src):
|
||||||
|
@ -1362,7 +1365,7 @@ class RestoreManager():
|
||||||
|
|
||||||
for permission_name, permission_infos in permissions.items():
|
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:
|
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))
|
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]
|
should_be_allowed = [g for g in permission_infos["allowed"] if g in existing_groups]
|
||||||
current_allowed = user_permission_list()["permissions"][permission_name]["allowed"]
|
current_allowed = user_permission_list()["permissions"][permission_name]["allowed"]
|
||||||
if should_be_allowed != current_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)
|
os.remove('%s/permissions.yml' % app_settings_new_path)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Reference in a new issue