コード例 #1
0
def show(id):
    tag = Tag.query.get(id)
    delete_form = DeleteForm()
    if request.method == b"PATCH":
        form = TagForm(request.form)
        form.set_choices()
        if form.validate():
            tag.text = form.text.data
            tag.messages = []
            for message in form.messages.data:
                tag.messages.append(Message.query.get(message))
            db.session.add(tag)
            db.session.commit()
            flash('Tag Updated!')
            return redirect(url_for('tags.index'))
        else:
            return render_template('tags/edit.html',
                                   form=form,
                                   tag=tag,
                                   delete_form=delete_form)
    if request.method == b"DELETE":
        delete_form = DeleteForm(request.form)
        if delete_form.validate():
            db.session.delete(tag)
            db.session.commit()
            flash('Tag Deleted!')
            return redirect(url_for('tags.index'))
    return render_template('tags/show.html', tag=tag, form=delete_form)
コード例 #2
0
ファイル: views.py プロジェクト: brendon-wong/flask-exercises
def show(id):
    selected_tag = Tag.query.get(id)
    # Use b"PATCH" because Flask Modus makes request.method a bytes literal
    if request.method == b"PATCH":
        tag_form = TagForm(request.form)
        if tag_form.validate():
            selected_tag.name = request.form['name']
            db.session.add(selected_tag)
            db.session.commit()
            flash("Tag Updated!")
            return redirect(url_for('tags.tags'))
        else:
            flash("Form Error: Tag Not Updated")
            return render_template('tags/edit.html',
                                   tag=selected_tag,
                                   tag_form=tag_form,
                                   delete_form=DeleteForm())
    if request.method == b"DELETE":
        delete_form = DeleteForm(request.form)
        if delete_form.validate():
            db.session.delete(selected_tag)
            db.session.commit()
            flash("Tag Deleted!")
            return redirect(url_for('tags.tags'))
        else:
            flash("Form Error: Tag Not Deleted")
            return redirect(url_for('tags.tags'))
    return render_template('tags/show.html', tag=selected_tag)
コード例 #3
0
ファイル: views.py プロジェクト: JH--/my_rithm
def edit_tag(id):
    form = TagForm(request.form)
    form.set_choices()
    if form.validate():
        tag = Tag.query.get(id)
        tag.tag = request.form["tag"]
        tag.messages = [Message.query.get(m) for m in form.messages.data]
        db.session.add(tag)
        db.session.commit()
    return redirect(url_for("tags.index"))
コード例 #4
0
ファイル: views.py プロジェクト: JH--/my_rithm
def new_tag():
    form = TagForm(request.form)
    form.set_choices()
    if form.validate():
        tag = Tag(request.form["tag"])
        messages = [Message.query.get(m) for m in form.messages.data]
        tag.messages.extend(messages)
        db.session.add(tag)
        db.session.commit()
        return redirect(url_for("tags.index"))
    return render_template("tags/new.html", form=form)
コード例 #5
0
ファイル: views.py プロジェクト: brendon-wong/flask-exercises
def tags():
    if request.method == "POST":
        form = TagForm(request.form)
        if form.validate():
            new_tag = Tag(request.form["name"])
            db.session.add(new_tag)
            db.session.commit()
            flash("Tag Created!")
        else:
            flash("Form Error: Tag Not Created")
            return render_template('tags/new.html', form=form)
    return render_template('tags/index.html', tags=Tag.query.all())
コード例 #6
0
def index():
    if request.method == "POST":
        form = TagForm(request.form)
        form.set_choices()
        if form.validate():
            tag = Tag(form.text.data)
            for message in form.messages.data:
                tag.messages.append(Message.query.get(message))
            db.session.add(tag)
            db.session.commit()
            flash('Tag Created!')
        else:
            return redirect(url_for('tags.new.html', form=form))
    return render_template('tags/index.html', tags=Tag.query.all())