def _create_user(user_info: dict, users: IResource, registry: Registry, groups: IResource, activate=True) -> IUser: groups_names = user_info.get('groups', []) groups = _get_groups(groups_names, groups) if groups == []: default = _get_default_group(users) groups = [default] roles_names = user_info.get('roles', []) password = user_info.get('initial-password', _gen_password()) appstruct = { sheets.principal.IUserBasic.__identifier__: { 'name': user_info['name'] }, sheets.principal.IUserExtended.__identifier__: { 'email': user_info['email'] }, sheets.principal.IPermissions.__identifier__: { 'roles': roles_names, 'groups': groups }, sheets.principal.IPasswordAuthentication.__identifier__: { 'password': password }, } user = registry.content.create(IUser.__identifier__, users, appstruct, registry=registry, send_event=False) if activate: user.activate() return user
def _create_user(user_info: dict, users: IResource, registry: Registry, groups: IResource, activate=True) -> IUser: groups_names = user_info.get('groups', []) groups = _get_groups(groups_names, groups) if groups == []: default = _get_default_group(users) groups = [default] roles_names = user_info.get('roles', []) password = user_info.get('initial-password', _generate_password()) appstruct = {sheets.principal.IUserBasic.__identifier__: {'name': user_info['name']}, sheets.principal.IUserExtended.__identifier__: {'email': user_info['email']}, sheets.principal.IPermissions.__identifier__: {'roles': roles_names, 'groups': groups}, sheets.principal.IPasswordAuthentication. __identifier__: {'password': password}, } user = registry.content.create(IUser.__identifier__, users, appstruct, registry=registry, send_event=False) if activate: user.activate() return user
def _remove_default_group_roles(event): from pyramid.traversal import find_root from adhocracy_core.resources.subscriber import _get_default_group from adhocracy_core.sheets.principal import IGroup root = find_root(event.object) default = _get_default_group(root) group_sheet = event.registry.content.get_sheet(default, IGroup) group_sheet.set({'roles': []})
def _create_user(user_info: dict, users: IResource, registry: Registry, groups: IResource, activate=True) -> IUser: groups_names = user_info.get("groups", []) groups = _get_groups(groups_names, groups) if groups == []: default = _get_default_group(users) groups = [default] roles_names = user_info.get("roles", []) password = user_info.get("initial-password", _gen_password()) appstruct = { sheets.principal.IUserBasic.__identifier__: {"name": user_info["name"]}, sheets.principal.IUserExtended.__identifier__: {"email": user_info["email"]}, sheets.principal.IPermissions.__identifier__: {"roles": roles_names, "groups": groups}, sheets.principal.IPasswordAuthentication.__identifier__: {"password": password}, } user = registry.content.create(IUser.__identifier__, users, appstruct, registry=registry, send_event=False) if activate: user.activate() return user
def _create_user(user_info: dict, users: IResource, registry: Registry, groups: IResource, activate=True) -> IUser: default_groups = [_get_default_group(users)] user_groups = default_groups + _get_groups(user_info['groups'], groups) appstruct = {sheets.principal.IUserBasic.__identifier__: {'name': user_info['name']}, sheets.principal.IUserExtended.__identifier__: {'email': user_info['email']}, sheets.principal.IPermissions.__identifier__: {'roles': user_info['roles'], 'groups': user_groups}, sheets.principal.IPasswordAuthentication. __identifier__: {'password': user_info['initial-password']}, } user = registry.content.create(IUser.__identifier__, users, appstruct, registry=registry, send_event=False) if activate: user.activate() return user