From 022d3922c1cc68da968755305086566079c73836 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 19 Jan 2019 20:44:45 +0000 Subject: [PATCH] This is a list of url so should be called 'urls' --- data/helpers.d/setting | 14 +++++++------- .../data_migrations/0009_setup_group_permission.py | 2 +- src/yunohost/permission.py | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/data/helpers.d/setting b/data/helpers.d/setting index 585c7ccd0..852fbf993 100644 --- a/data/helpers.d/setting +++ b/data/helpers.d/setting @@ -28,26 +28,26 @@ ynh_app_setting_delete() { # Create a new permission for the app # -# usage: ynh_permission_create --app "app" --permission "permission" --defaultdisallow [--url "url" ["url" ...]] +# usage: ynh_permission_create --app "app" --permission "permission" --defaultdisallow [--urls "url" ["url" ...]] # | arg: app - the application id # | arg: permission - the name for the permission (by default a permission named "main" already exist) # | arg: defaultdisallow - define if all user will be allowed by default -# | arg: url - the url for the the permission +# | arg: urls - the list of urls for the the permission ynh_permission_create() { - declare -Ar args_array=( [a]=app= [p]=permission= [d]=defaultdisallow [u]=url= ) + declare -Ar args_array=( [a]=app= [p]=permission= [d]=defaultdisallow [u]=urls= ) local app local permission local defaultdisallow - local url + local urls ynh_handle_getopts_args "$@" if [[ -n ${defaultdisallow:-} ]]; then defaultdisallow=",default_allow=False" fi - if [[ -n ${url:-} ]]; then - url=",url=['${url//';'/"','"}']" + if [[ -n ${urls:-} ]]; then + urls=",urls=['${urls//';'/"','"}']" fi - yunohost tools shell -c "from yunohost.permission import permission_add; permission_add(auth, '$app', '$permission' ${defaultdisallow:-} ${url:-}, sync_perm=False)" + yunohost tools shell -c "from yunohost.permission import permission_add; permission_add(auth, '$app', '$permission' ${defaultdisallow:-} ${urls:-}, sync_perm=False)" } # Remove a permission for the app (note that when the app is removed all permission is automatically removed) diff --git a/src/yunohost/data_migrations/0009_setup_group_permission.py b/src/yunohost/data_migrations/0009_setup_group_permission.py index 2dee0b070..2d3ef5905 100644 --- a/src/yunohost/data_migrations/0009_setup_group_permission.py +++ b/src/yunohost/data_migrations/0009_setup_group_permission.py @@ -76,7 +76,7 @@ def migrate_app_permission(auth, app=None): url = None if domain and path: url = domain + path - permission_add(auth, app, 'main', url=url, default_allow=True, sync_perm=False) + permission_add(auth, app, 'main', urls=[url], default_allow=True, sync_perm=False) if permission: allowed_group = permission.split(',') user_permission_add(auth, [app], 'main', group=allowed_group, sync_perm=False) diff --git a/src/yunohost/permission.py b/src/yunohost/permission.py index 421f1ff2f..e490c33bd 100644 --- a/src/yunohost/permission.py +++ b/src/yunohost/permission.py @@ -312,14 +312,14 @@ def user_permission_clear(operation_logger, auth, app=[], permission=None, sync_ @is_unit_operation(['permission','app']) -def permission_add(operation_logger, auth, app, permission, url=None, default_allow=True, sync_perm=True): +def permission_add(operation_logger, auth, app, permission, urls=None, default_allow=True, sync_perm=True): """ Create a new permission for a specific application Keyword argument: app -- an application OR sftp, xmpp (metronome), mail permission -- name of the permission ("main" by default) - url -- list of url to specify for the permission + urls -- list of urls to specify for the permission """ from yunohost.domain import _normalize_domain_path @@ -348,11 +348,11 @@ def permission_add(operation_logger, auth, app, permission, url=None, default_al if default_allow: attr_dict['groupPermission'] = 'cn=all_users,ou=groups,dc=yunohost,dc=org' - if url: + if urls: attr_dict['URL'] = [] - for u in url: - domain = u[:u.index('/')] - path = u[u.index('/'):] + for url in urls: + domain = url[:url.index('/')] + path = url[url.index('/'):] domain, path = _normalize_domain_path(domain, path) attr_dict['URL'].append(domain + path)