Esempio n. 1
0
 def save(self):
     user = User(username=self.username.data,
                 email=self.email.data,
                 password=self.password.data,
                 date_joined=datetime.utcnow(),
                 primary_group_id=4)
     return user.save()
Esempio n. 2
0
def user(default_groups):
    """Creates a user with normal permissions."""
    user = User(username="******", email="*****@*****.**",
                password="******", primary_group=default_groups[3],
                activated=True)
    user.save()
    return user
Esempio n. 3
0
    def __add_group_to_user(self, user_discord_id):
        roles = DiscordRole.query\
            .join(DiscordUserRole)\
            .join(DiscordUser)\
            .filter(DiscordUser.id == user_discord_id)\
            .all()

        user = User.query.filter(User.discord == user_discord_id).first()
        for role in roles:
            if role.id in hub_current_server.discord_role_to_group:
                group_id = hub_current_server.discord_role_to_group[role.id]
                group = Group.query.filter(Group.id == group_id).first()
                if not user:
                    discord_user = DiscordUser.query.filter(DiscordUser.id == user_discord_id).first()
                    assert discord_user
                    user = User(discord=user_discord_id, display_name=discord_user.pure_name, activated=True)
                    user.primary_group = group
                else:
                    last_group = user.primary_group
                    user.primary_group = group
                    user.add_to_group(last_group)

                user.save()
                LogAction(current_user, "added user {name} (discord: {discord_id}) to group {group}".format(
                    name=user.display_name,
                    discord_id=user_discord_id,
                    group=group.name
                ))
                flash("User {} was added to group {}".format(user.display_name, group.name))
                return True

        flash("Failed to find appropriate group for user {}".format(user.display_name), "danger")
        return False
Esempio n. 4
0
def admin_user(default_groups):
    """Creates a admin user."""
    user = User(username="******", email="*****@*****.**",
                password="******", primary_group=default_groups[0],
                activated=True)
    user.save()
    return user
Esempio n. 5
0
def super_moderator_user(default_groups):
    """Creates a super moderator user."""
    user = User(username="******", email="*****@*****.**",
                password="******", primary_group=default_groups[1],
                activated=True)
    user.save()
    return user
Esempio n. 6
0
def create_admin_user(username, password, email):
    """
    Creates the administrator user
    """
    admin_group = Group.query.filter_by(admin=True).first()
    user = User(username=username, password=password, email=email,
                date_joined=datetime.utcnow(), primary_group_id=admin_group.id)
    user.save()
Esempio n. 7
0
    def post(self):
        args = self.reqparse.parse_args()
        user = User(username=args['username'],
                    password=args['password'],
                    email=args['email'],
                    date_joined=datetime.utcnow(),
                    primary_group_id=4)
        user.save()

        return {'user': marshal(user, user_fields)}, 201
Esempio n. 8
0
 def save(self):
     data = self.data
     if not data["username"]:
         data["username"] = None
     if not data["email"]:
         data["email"] = None
     data.pop('submit', None)
     data.pop('csrf_token', None)
     user = User(**data)
     return user.save()
Esempio n. 9
0
def unactivated_user(default_groups):
    """
    Creates an unactivated user in the default user group
    """
    user = User(username='******',
                email='*****@*****.**',
                password='******',
                primary_group=default_groups[3],
                activated=False)
    user.save()
    return user
Esempio n. 10
0
def moderator_user(user, forum, default_groups):
    """Creates a test user with moderator permissions."""

    user = User(username="******", email="*****@*****.**",
                password="******", primary_group=default_groups[2],
                activated=True)
    user.save()

    forum.moderators.append(user)
    forum.save()
    return user
Esempio n. 11
0
def Fred(default_groups):
    """Fred is an interloper and bad intentioned user, he attempts to
    access areas he shouldn't, he posts trollish and spammy content,
    he does everything he can to destroy the board.

    Our job is stop Fred.
    """
    fred = User(username='******', email='*****@*****.**',
                password='******', primary_group=default_groups[3],
                activated=True)
    fred.save()
    return fred
Esempio n. 12
0
def create_admin_user(username, password, email):
    """
    Creates the administrator user
    """
    admin_group = Group.query.filter_by(admin=True).first()
    user = User()

    user.username = username
    user.password = password
    user.email = email
    user.primary_group_id = admin_group.id

    user.save()
Esempio n. 13
0
def create_test_data():
    """Creates 5 users, 2 categories and 2 forums in each category.
    It also creates a new topic topic in each forum with a post.
    """
    create_default_groups()
    create_default_settings()

    # create 5 users
    for u in range(1, 6):
        username = "******" % u
        email = "*****@*****.**" % u
        user = User(username=username, password="******", email=email)
        user.primary_group_id = u
        user.save()

    user1 = User.query.filter_by(id=1).first()
    user2 = User.query.filter_by(id=2).first()

    # create 2 categories
    for i in range(1, 3):
        category_title = "Test Category %s" % i
        category = Category(title=category_title,
                            description="Test Description")
        category.save()

        # create 2 forums in each category
        for j in range(1, 3):
            if i == 2:
                j += 2

            forum_title = "Test Forum %s %s" % (j, i)
            forum = Forum(title=forum_title,
                          description="Test Description",
                          category_id=i)
            forum.save()

            # create a topic
            topic = Topic()
            post = Post()

            topic.title = "Test Title %s" % j
            post.content = "Test Content"
            topic.save(post=post, user=user1, forum=forum)

            # create a second post in the forum
            post = Post()
            post.content = "Test Post"
            post.save(user=user2, topic=topic)
Esempio n. 14
0
def save_user(text):
    text = text.split("\n")
    for username in text:
        # print('saving', username)
        try:
            username = username.decode('ascii')
            user = User.query.filter(User.username == username).all()
            if len(user) == 0 and len(username) > 1:
                user = User(username=username,
                            email="{}@gmail.com".format(username),
                            _password="******",
                            primary_group_id=4,
                            activated=1)
                user.save()
        except:
            print('not asciiable')
Esempio n. 15
0
def create_admin_user(username, password, email):
    """Creates the administrator user.
    Returns the created admin user.

    :param username: The username of the user.
    :param password: The password of the user.
    :param email: The email address of the user.
    """
    admin_group = Group.query.filter_by(admin=True).first()
    user = User()

    user.username = username
    user.password = password
    user.email = email
    user.primary_group_id = admin_group.id
    user.activated = True

    user.save()
    return user
Esempio n. 16
0
 def test_has_custom_rank_returns_false_if_user_rank_isnt_custom(self):
     assert not Rank.has_custom_rank(User())
Esempio n. 17
0
 def test_has_custom_rank_returns_true_if_user_rank_is_custom(self):
     assert Rank.has_custom_rank(
         User(user_rank=UserRank(rank=Rank(requirement=None))))
Esempio n. 18
0
 def save(self):
     data = self.data
     data.pop('submit', None)
     data.pop('csrf_token', None)
     user = User(**data)
     return user.save()
Esempio n. 19
0
 def test_has_rank_returns_true_if_user_has_rank(self):
     assert Rank.has_rank(
         User(user_rank=UserRank(rank=Rank(requirement=1))))
Esempio n. 20
0
def create_test_data(users=5, categories=2, forums=2, topics=1, posts=1):
    """Creates 5 users, 2 categories and 2 forums in each category.
    It also creates a new topic topic in each forum with a post.
    Returns the amount of created users, categories, forums, topics and posts
    as a dict.

    :param users: The number of users.
    :param categories: The number of categories.
    :param forums: The number of forums which are created in each category.
    :param topics: The number of topics which are created in each forum.
    :param posts: The number of posts which are created in each topic.
    """
    create_default_groups()
    create_default_settings()

    data_created = {'users': 0, 'categories': 0, 'forums': 0,
                    'topics': 0, 'posts': 0}

    # create 5 users
    for u in range(1, users + 1):
        username = "******" % u
        email = "*****@*****.**" % u
        user = User(username=username, password="******", email=email)
        user.primary_group_id = u
        user.activated = True
        user.save()
        data_created['users'] += 1

    user1 = User.query.filter_by(id=1).first()
    user2 = User.query.filter_by(id=2).first()

    # lets send them a few private messages
    for i in range(1, 3):
        # TODO
        pass

    # create 2 categories
    for i in range(1, categories + 1):
        category_title = "Test Category %s" % i
        category = Category(title=category_title,
                            description="Test Description")
        category.save()
        data_created['categories'] += 1

        # create 2 forums in each category
        for j in range(1, forums + 1):
            if i == 2:
                j += 2

            forum_title = "Test Forum %s %s" % (j, i)
            forum = Forum(title=forum_title, description="Test Description",
                          category_id=i)
            forum.save()
            data_created['forums'] += 1

            for t in range(1, topics + 1):
                # create a topic
                topic = Topic(title="Test Title %s" % j)
                post = Post(content="Test Content")

                topic.save(post=post, user=user1, forum=forum)
                data_created['topics'] += 1

                for p in range(1, posts + 1):
                    # create a second post in the forum
                    post = Post(content="Test Post")
                    post.save(user=user2, topic=topic)
                    data_created['posts'] += 1

    return data_created
Esempio n. 21
0
 def save(self):
     user = User(**self.data)
     return user.save()
Esempio n. 22
0
 def test_has_rank_returns_false_if_user_doesnt_have_rank(self):
     assert not Rank.has_rank(User())