Esempio n. 1
0
    def test_slug(self):
        """Test slugyfing"""

        post = Post(title="Test - .+?=~! the post 123")
        post.generate_slug()

        self.assertEqual("test-the-post-123", post.slug)
Esempio n. 2
0
    def test_slug_unique(self):
        """"""

        post1 = Post(title="Test unique slug")
        post1.generate_slug()

        db.session.add(post1)
        db.session.commit()

        post2 = Post(title="Test unique slug")
        post2.generate_slug()

        self.assertEqual("test-unique-slug-1", post2.slug)
Esempio n. 3
0
def create_post(data: dict) -> Post:
    """
    Create a new post
    :param data: Fields of new record
    :type data: dict
    :return: Created post model
    :rtype: Post
    """

    post = Post(**data)
    post.user_id = current_user.id
    post.generate_slug()

    save_changes(obj=post)

    return post
Esempio n. 4
0
def create_post():
    """Create post"""

    form = PostForm()

    if request.method == "POST" and form.validate_on_submit():
        post = Post()
        form.populate_obj(post)
        post.user_id = current_user.id
        post.generate_slug()
        db.session.add(post)
        db.session.commit()
        flash("You're successfully create the post")
        return redirect(url_for("post.view_post", slug=post.slug))

    return render_template("post/form.html", form=form,
                           title="Create a new post")