示例#1
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            image_file = request.files['post_image']
            if image_file.filename == '':
                flash('No selected file!', 'danger')
                return redirect(request.url)
            if not allowed_image(image_file.filename):
                flash("Wrong image format! Only 'png', 'jpg', 'jpeg', 'gif' formats.", "danger")
                return redirect(request.url)
            filename_path = os.path.join(app.config['IMAGES_DIR'], secure_filename(image_file.filename))
            image_file.save(filename_path)
            img_url = image_file.filename
            entry = Entry(
                title=form.title.data,
                body=form.body.data,
                image_url=img_url,
                status=form.status.data,
                tags=form.tags.data
                )
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))

    else:
        form = EntryForm()
    
    return render_template('entries/create.html', form=form, title="Create New Post")
示例#2
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry())
            db.session.add(entry)
            db.session.commit()
            return redirect(url_for('entries.detail', slug=entry.slug))

    form = EntryForm()
    return render_template('entries/create.html', form=form)
示例#3
0
def edit(slug):
    entry = Entry.query.filter(Entry.slug == slug).first_or_404()
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)
        return render_template('entries/edit.html', entry=entry, form=form)
示例#4
0
def edit(slug):
    entry = Entry.query.filter(Entry.slug == slug).first_or_404()
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)
    return render_template('entries/edit.html', entry=entry, form=form)
示例#5
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry())
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm()
    return render_template('entries/create.html', form=form)
示例#6
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry())
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm()
    return render_template('entries/create.html', form=form)
示例#7
0
def edit(slug):
    entry = get_entry_or_404(slug)
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" has been saved.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)
    return render_template('entries/edit.html', entry=entry, form=form)
示例#8
0
def create():
    if request.method == "POST":
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, "success")
            return redirect(url_for("entries.detail", slug=entry.slug))
    else:
        form = EntryForm()

    return render_template("entries/create.html", form=form)
示例#9
0
def edit(slug):
    entry = get_entry_or_404(slug)
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" has been saved.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)
    return render_template('entries/edit.html', entry=entry, form=form)
示例#10
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate() == False:
            return render_template('entries/create.html', form=form)
        else:
            entry = form.save_entry(Entry())
            db.session.add(entry)
            db.session.commit()
            return redirect(url_for('entries.detail', slug=entry.
            slug))
    else:
        form = EntryForm()
        return render_template('entries/create.html', form=form)
示例#11
0
def edit(slug):
    # entry = Entry.query.filter(Entry.slug == slug).first_or_404()
    entry = get_entry_or_404(slug, author=None)
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash("Entry {0} has been saved.".format(entry.title), 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)
    return render_template('entries/edit.html', entry=entry, form=form)
示例#12
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            for tag in entry.tags:
                app.logger.info("***> " + str(tag.id) + "|" + str(tag.name))
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm()

    return render_template('entries/create.html', form=form)
示例#13
0
def create():
    if request.method == 'POST':
        # use the form entry data from the page to populate a new Entry() object and save it to the DB
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully' % entry.title, 'success')
            # redirect the user to his/her newly-created form
            return redirect(url_for('entries.detail', slug=entry.slug))
    # executes when someone sends a GET request - a new 'Create Blog Post' page is created
    else:
        form = EntryForm()
    return render_template('entries/create.html', form=form)
示例#14
0
def create():
    if request.method == 'POST':
        form = EntryForm(request.form)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            with db.session.no_autoflush:
                if db.session.query(exists().where(Entry.slug == entry.slug)).scalar():
                    flash('Error create Entry "%s". already exists slug' % entry.title, 'danger')
                    return redirect(url_for('entries.create', entry=entry))
                else:
                    db.session.add(entry)
                    db.session.commit()
                    return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm()
    return render_template('entries/create.html', form=form)
示例#15
0
def edit(slug):
    """doc."""
    entry = get_entry_or_404(slug, author=None)
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(Entry(author=g.user))
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)

    return render_template('entries/edit.html', entry=entry, form=form)
示例#16
0
def edit(slug):
    entry = get_entry_or_404(slug, author=None)
    # if saving an entry, we are sending data via POST
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" has been saved' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    # else if attempting to edit an entry, we are retrieving data via GET
    else:
        # attempt to prepopulate the form with entry's attributes
        form = EntryForm(obj=entry)
    return render_template('entries/edit.html', entry=entry, form=form)
示例#17
0
def edit(slug):
    entry = Entry.query.filter(Entry.slug == slug).first_or_404()
    if g.user != entry.author:
        flash("Only Author of The Post can Edit The Post", "info")
        return redirect(url_for('entries.detail', slug=slug))
    if request.method == 'POST':
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" has been saved.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)

    return render_template('entries/edit.html', entry=entry, form=form)
示例#18
0
def edit(slug):
    #entry = Entry.query.filter(Entry.slug == slug).first_or_404()
    entry = get_entry_or_404(slug)
    if request.method == 'POST':
        app.logger.info("===> edit")
        form = EntryForm(request.form, obj=entry)
        if form.validate():
            entry = form.save_entry(entry)
            for tag in entry.tags:
                app.logger.info("***> " + str(tag.id) + "|" + str(tag.name))
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" has been saved.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)

    return render_template('entries/edit.html', entry=entry, form=form)
示例#19
0
def edit(slug):
    entry = get_entry_or_404(slug, author=g.user)
    if request.method == 'POST':
        # Mengisi atribut dari obj yang dilewatkan dengan data dari kolom form.
        # mengisi object form dengan acuan entry object yang berisi request.form
        form = EntryForm(request.form, obj=entry)
        if form.validate():

            # form.populate_obj(entry) # mengubah data entry object dengan data dari form
            # entry.generate_slug()
            entry = form.save_entry(entry)

            db.session.commit()
            flash('Entry "%s" has been saved.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))
    else:
        form = EntryForm(obj=entry)

    return render_template('entries/edit.html', entry=entry, form=form)
示例#20
0
def create():
    form = EntryForm()
    if request.method == 'POST':
        form = EntryForm(
            request.form
        )  # we want to instantiate the EntryForm and pass in the raw form data.
        if form.validate(
        ):  # ensure that the form is valid by calling form.validate() .
            # If the form validates, we can finally proceed with saving the entry. To do this, we
            # will call our save_entry helper method, passing in a fresh entry instance

            # entry = Entry()
            # form.populate_obj(entry)
            # author = g.user -> backref
            entry = form.save_entry(Entry(author=g.user))
            db.session.add(entry)
            db.session.commit()
            flash('Entry "%s" created successfully.' % entry.title, 'success')
            return redirect(url_for('entries.detail', slug=entry.slug))

    return render_template('entries/create.html', form=form)