Beispiel #1
0
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
Beispiel #2
0
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': []})
Beispiel #4
0
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