This is a list of url so should be called 'urls'

This commit is contained in:
Alexandre Aubin 2019-01-19 20:44:45 +00:00
parent 6054e4eb3c
commit 022d3922c1
3 changed files with 14 additions and 14 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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)