Esempio n. 1
0
def create_user(username, password, email, groupname):
    """Creates a user.
    Returns the created user.

    :param username: The username of the user.
    :param password: The password of the user.
    :param email: The email address of the user.
    :param groupname: The name of the group to which the user
                      should belong to.
    """
    if groupname == "member":
        group = Group.get_member_group()
    else:
        group = Group.query.filter(getattr(Group, groupname) == True).first()

    user = User.create(username=username, password=password, email=email,
                       primary_group_id=group.id, activated=True)
    return user
Esempio n. 2
0
    def __remove_group_from_user(self, user_discord_id):
        user = User.query.filter(User.discord == user_discord_id).first()
        assert user.primary_group.id in hub_current_server.discord_role_to_group.values()

        removed_group = user.primary_group

        secondary_groups = user.secondary_groups.all()
        if len(secondary_groups):
            user.primary_group = secondary_groups[0]
        else:
            user.primary_group = Group.get_member_group()
        user.save()
        LogAction(current_user, "removed user {name} (discord: {discord_id}) from group {group}".format(
            name=user.display_name,
            discord_id=user_discord_id,
            group=removed_group.name
        ))
        flash("User {} was removed from group {}".format(user.display_name, removed_group.name))
Esempio n. 3
0
def update_user(username, password, email, groupname):
    """Update an existing user.
    Returns the updated user.

    :param username: The username of the user.
    :param password: The password of the user.
    :param email: The email address of the user.
    :param groupname: The name of the group to which the user
                      should belong to.
    """
    user = User.query.filter_by(username=username).first()
    if user is None:
        return None

    if groupname == "member":
        group = Group.get_member_group()
    else:
        group = Group.query.filter(getattr(Group, groupname) == True).first()

    user.password = password
    user.email = email
    user.primary_group_id = group.id
    return user.save()