mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
add ynh_permission_has_user
This commit is contained in:
parent
13b510b624
commit
51a0502e91
4 changed files with 56 additions and 0 deletions
|
@ -296,6 +296,15 @@ user:
|
||||||
help: Display all info known about each permission, including the full user list of each group it is granted to.
|
help: Display all info known about each permission, including the full user list of each group it is granted to.
|
||||||
action: store_true
|
action: store_true
|
||||||
|
|
||||||
|
### user_permission_info()
|
||||||
|
info:
|
||||||
|
action_help: Get information about a specific permission
|
||||||
|
api: GET /users/permissions/<permission>
|
||||||
|
arguments:
|
||||||
|
permission:
|
||||||
|
help: Name of the permission to fetch info about
|
||||||
|
extra:
|
||||||
|
pattern: *pattern_username
|
||||||
|
|
||||||
### user_permission_update()
|
### user_permission_update()
|
||||||
update:
|
update:
|
||||||
|
|
|
@ -367,3 +367,22 @@ ynh_permission_update() {
|
||||||
|
|
||||||
yunohost user permission update "$app.$permission" ${add:-} ${remove:-}
|
yunohost user permission update "$app.$permission" ${add:-} ${remove:-}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Check if a permission exists
|
||||||
|
#
|
||||||
|
# usage: ynh_permission_has_user --permission=permission --user=user
|
||||||
|
# | arg: -p, --permission - the permission to check
|
||||||
|
# | arg: -u, --user - the user seek in the permission
|
||||||
|
#
|
||||||
|
# Requires YunoHost version 3.7.1 or higher.
|
||||||
|
ynh_permission_has_user() {
|
||||||
|
declare -Ar args_array=( [p]=permission= [u]=user)
|
||||||
|
local permission
|
||||||
|
ynh_handle_getopts_args "$@"
|
||||||
|
|
||||||
|
if ! ynh_permission_exists --permission $permission
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
yunohost user permission info $permission | grep -w -q "$user"
|
||||||
|
}
|
|
@ -196,6 +196,28 @@ def user_permission_reset(operation_logger, permission, sync_perm=True):
|
||||||
|
|
||||||
return new_permission
|
return new_permission
|
||||||
|
|
||||||
|
|
||||||
|
def user_permission_info(permission, sync_perm=True):
|
||||||
|
"""
|
||||||
|
Return informations about a specific permission
|
||||||
|
|
||||||
|
Keyword argument:
|
||||||
|
permission -- Name of the permission (e.g. mail or nextcloud or wordpress.editors)
|
||||||
|
"""
|
||||||
|
|
||||||
|
# By default, manipulate main permission
|
||||||
|
if "." not in permission:
|
||||||
|
permission = permission + ".main"
|
||||||
|
|
||||||
|
# Fetch existing permission
|
||||||
|
|
||||||
|
existing_permission = user_permission_list(full=True)["permissions"].get(permission, None)
|
||||||
|
if existing_permission is None:
|
||||||
|
raise YunohostError('permission_not_found', permission=permission)
|
||||||
|
|
||||||
|
return existing_permission
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# The followings methods are *not* directly exposed.
|
# The followings methods are *not* directly exposed.
|
||||||
|
|
|
@ -780,6 +780,12 @@ def user_permission_reset(permission, sync_perm=True):
|
||||||
sync_perm=sync_perm)
|
sync_perm=sync_perm)
|
||||||
|
|
||||||
|
|
||||||
|
def user_permission_info(permission, sync_perm=True):
|
||||||
|
import yunohost.permission
|
||||||
|
return yunohost.permission.user_permission_info(permission,
|
||||||
|
sync_perm=sync_perm)
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# SSH subcategory
|
# SSH subcategory
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Reference in a new issue