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
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))
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()