diff --git a/data/helpers.d/setting b/data/helpers.d/setting index bb71ad1a3..73da89bb0 100644 --- a/data/helpers.d/setting +++ b/data/helpers.d/setting @@ -262,7 +262,7 @@ ynh_webpath_register () { # # Requires YunoHost version 3.7.0 or higher. ynh_permission_create() { - declare -Ar args_array=( [p]=permission= [u]=url= [a]=allowed= [p]=protected= ) + declare -Ar args_array=( [p]=permission= [u]=url= [a]=allowed= [P]=protected= ) local permission local url local allowed @@ -277,7 +277,7 @@ ynh_permission_create() { if [[ -n ${allowed:-} ]]; then allowed=",allowed=['${allowed//';'/"','"}']" fi - if [ -n ${protected} ]; then + if [[ -n ${protected:-} ]]; then if [ $protected == "true" ]; then protected=",protected=True" else @@ -353,7 +353,7 @@ ynh_permission_url() { # example: ynh_permission_update --permission admin --add samdoe --remove all_users # Requires YunoHost version 3.7.0 or higher. ynh_permission_update() { - declare -Ar args_array=( [p]=permission= [a]=add= [r]=remove= [p]=protected= ) + declare -Ar args_array=( [p]=permission= [a]=add= [r]=remove= [P]=protected= ) local permission local add local remove @@ -366,7 +366,7 @@ ynh_permission_update() { if [[ -n ${remove:-} ]]; then remove=",remove=['${remove//';'/"','"}']" fi - if [ -n ${protected} ]; then + if [[ -n ${protected:-} ]]; then if [ $protected == "true" ]; then protected=",protected=True" else @@ -374,5 +374,5 @@ ynh_permission_update() { fi fi - yunohost tools shell -c "from yunohost.permission import user_permission_update; user_permission_update('$app.$permission', ${add:-} ${remove} ${protected:-} , force=True, sync_perm=False)" + yunohost tools shell -c "from yunohost.permission import user_permission_update; user_permission_update('$app.$permission' ${add:-} ${remove:-} ${protected:-} , force=True, sync_perm=False)" } diff --git a/src/yunohost/tests/test_permission.py b/src/yunohost/tests/test_permission.py index 636d9b4b1..066d60d7d 100644 --- a/src/yunohost/tests/test_permission.py +++ b/src/yunohost/tests/test_permission.py @@ -33,8 +33,8 @@ def setup_function(function): user_create("alice", "Alice", "White", "alice@" + maindomain, dummy_password) user_create("bob", "Bob", "Snow", "bob@" + maindomain, dummy_password) - permission_create("wiki.main", url="/", allowed=["all_users"] , sync_perm=False) - permission_create("blog.main", allowed=["all_users"], sync_perm=False) + permission_create("wiki.main", url="/", allowed=["all_users"], protected=False, sync_perm=False) + permission_create("blog.main", allowed=["all_users"], protected=False, sync_perm=False) user_permission_update("blog.main", remove="all_users", add="alice") @@ -326,7 +326,7 @@ def test_permission_adding_visitors_implicitly_add_all_users(mocker): def test_permission_cant_remove_all_users_if_visitors_allowed(mocker): with message(mocker, "permission_updated", permission="blog.main"): - user_permission_update("blog.main", add=["visitors", "all_users"]) + user_permission_update("blog.main", add=["visitors", "all_users"], ) with raiseYunohostError(mocker, 'permission_cannot_remove_all_users_while_visitors_allowed'): user_permission_update("blog.main", remove="all_users")