Пример #1
0
def edit(post_id):
    post = Post.query.filter_by(id=post_id).first_or_404()
    form=PostForm(obj=post)
    if form.validate_on_submit():
        original_image=post.image
        form.populate_obj(post)
        if form.image.has_file():
            image=request.files.get('image')
            try:
                filename= uploaded_images.save(image)
            except:
                flash("Image was not uploaded")
            if filename:
                post.image=filename
        else:
            post.image=original_image
        if form.new_category.data:
            new_category = Category(form.new_category.data)
            db.session.add(new_category)
            db.session.flush()
            post.category = new_category
        db.session.commit()
        return redirect(url_for('article', slug=post.slug))        
    return render_template('blog/post.html', form=form, post=post, action='edit')
    
    
Пример #2
0
def edit(post_id):
    post = Post.query.filter_by(id=post_id).first_or_404()
    form = PostForm(obj=post)
    if form.validate_on_submit():
        original_image = post.image
        form.populate_obj(post)
        if form.image.has_file():
            image = request.files.get('image')
            filename = None
            try:
                filename = uploaded_images.save(image)
            except:
                flash("The image was not uploaded")
            if filename:
                post.image = filename
        else:
            post.image = original_image
        if form.new_category.data:
            new_category = Category(form.new_category.data)
            db.session.add(new_category)
            db.session.flush()
            post.category = new_category
        db.session.commit()
        return redirect(url_for('article', slug=post.slug))
    return render_template('blog/post.html',
                           form=form,
                           post=post,
                           action="edit")
Пример #3
0
def edit(post_id):
    # Return post form, but filled out
    # Use existing PostForm
    post = Post.query.filter_by(id=post_id).first_or_404()
    form = PostForm(obj=post) # post here is the post in previous line; fills out the form with that data
    if form.validate_on_submit():
        original_image=post.image
        form.populate_obj(post) # Replaces post with the contents of the form
        if form.image.has_file():
            image = request.files.get('image')
            try:
                filename = uploaded_images.save(image)
            except:
                flash("The image was not uploaded.")
            if filename:
                post.image=filename
        else:
            post.image = original_image
        
        if form.new_category.data:
            new_category = Category(form.new_category.data)
            db.session.add(new_category)
            db.session.flush()
            post.category = new_category
        db.session.commit()
        return redirect(url_for('article', slug=post.slug))
    return render_template('blog/post.html', form=form, post=post, action="edit")
Пример #4
0
def edit(post_id):
    post = Post.query.filter_by(id=post_id).first_or_404()
    form = PostForm(obj=post) # assign values to form from object above, inbuilt feature
    if form.validate_on_submit():
        original_image = post.image
        form.populate_obj(post) # loads and replaces post object with contents of the form
        if form.image.has_file():
            image = request.files.get('image')
            try:
                filename = uploaded_images.save(image)
            except:
                flash("Image not uploaded")
            if filename:
                post.image = filename
        else:
            post.image = original_image # post.image has been populated by the form content so need to redefine (if user hasnt chosen a file)
        if form.new_category.data:
            new_category = Category(form.new_category.data)
            db.session.add(new_category)
            db.session.flush()
            post.category = new_category
        db.session.commit()
        return redirect(url_for('article', slug=post.slug))
            
    return render_template('blog/post.html', form=form, post=post, action=edit) # pre loading post
Пример #5
0
def edit(post_id):
    # get record
    post = Post.query.filter_by(id=post_id).first_or_404()
    # populate form fields with record data
    form = PostForm(obj=post)
    # form validated
    if form.validate_on_submit():
        # save image
        orig_image = post.image
        # repopulate from form fields
        form.populate_obj(post)

        # if form has new image
        if form.image.has_file():
            image = request.files.get('image')
            try:
                filename = uploaded_images.save(image)
            except:
                flash("the image not uploaded")
            if filename:
                post.image = filename
        else:
            post.image = orig_image

        if form.new_category.data:
            new_cat = Category(form.new_category.data)
            db.session.add(new_cat)
            # write new category to get id
            db.session.flush()
            post.category = new_cat

        # write full record to database
        db.session.commit()

        return redirect(url_for('article', slug=post.slug))

    return render_template('blog/post.html',
                           form=form,
                           post=post,
                           action="edit")
Пример #6
0
def edit(slug):

    post = Post.query.filter_by(slug=slug).first_or_404()
    form = PostForm(obj=post)

    if form.validate_on_submit():

        original_img_id, original_title = post.image, post.title
        form.populate_obj(post)

        post.image = _if_image_is_found_process_image(form, original_img_id)
        _if_new_category_is_found_process(form, post)
        _if_post_title_has_changed_slugify(form, post, original_title)

        db.session.commit()

        flash(constants.ARTICLE_EDITED_MSG)

        if is_safe_url('blog_articles_app.articles'):
            return redirect(url_for('blog_articles_app.articles', slug=post.slug))

    return render_template("blog/post.html", form=form, post=post, action="edit")
Пример #7
0
def edit(post_id):
    # get record
    post = Post.query.filter_by(id=post_id).first_or_404()
    # populate form fields with record data
    form = PostForm(obj=post)
    # form validated
    if form.validate_on_submit():
        # save image
        orig_image = post.image
        # repopulate from form fields
        form.populate_obj(post)
        
        # if form has new image
        if form.image.has_file():
            image = request.files.get('image')
            try:
                filename = uploaded_images.save(image)
            except:
                flash("the image not uploaded")
            if filename:
                post.image = filename
        else:
            post.image = orig_image
            
        if form.new_category.data:
            new_cat = Category(form.new_category.data)
            db.session.add(new_cat)
            # write new category to get id
            db.session.flush()
            post.category = new_cat
        
        # write full record to database
        db.session.commit()
        
        return redirect(url_for('article', slug=post.slug))
                
            
            
    return render_template('blog/post.html', form=form, post=post, action="edit")