Merge pull request #846 from kay0u/fix-permission-create

[Fix] permission create
This commit is contained in:
Alexandre Aubin 2019-11-22 15:26:39 +01:00 committed by GitHub
commit 2a5e36bd16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -267,17 +267,7 @@ def permission_create(operation_logger, permission, url=None, allowed=None, sync
except Exception as e: except Exception as e:
raise YunohostError('permission_creation_failed', permission=permission, error=e) raise YunohostError('permission_creation_failed', permission=permission, error=e)
to_add = None new_permission = _update_ldap_group_permission(permission=permission, allowed=allowed, sync_perm=sync_perm)
# If who should be allowed is explicitly provided, use this info
if allowed:
if not isinstance(allowed, list):
to_add = [allowed]
# For main permission, we add all users by default
elif permission.endswith(".main"):
to_add = "all_users"
new_permission = _update_ldap_group_permission(permission=permission, allowed=to_add, sync_perm=sync_perm)
logger.debug(m18n.n('permission_created', permission=permission)) logger.debug(m18n.n('permission_created', permission=permission))
return new_permission return new_permission
@ -295,6 +285,10 @@ def permission_url(operation_logger, permission, url=None, sync_perm=True):
from yunohost.utils.ldap import _get_ldap_interface from yunohost.utils.ldap import _get_ldap_interface
ldap = _get_ldap_interface() ldap = _get_ldap_interface()
# By default, manipulate main permission
if "." not in permission:
permission = permission + ".main"
# Fetch existing permission # Fetch existing permission
existing_permission = user_permission_list(full=True)["permissions"].get(permission, None) existing_permission = user_permission_list(full=True)["permissions"].get(permission, None)