예제 #1
0
파일: views.py 프로젝트: bilunyk/elibrary
 def dispatch_request(self):
     form = AuthorForm()
     form.books.query = Book.query.all()
     if request.method == "POST":
         if form.validate_on_submit():
             obj = Author()
             form.populate_obj(obj)
             obj.save()
             return redirect("/authors/")
     return render_template("author_add.html", form=form)
예제 #2
0
파일: views.py 프로젝트: bilunyk/elibrary
 def dispatch_request(self, obj_id):
     obj = Author.query.get_or_404(obj_id)
     form = AuthorForm(obj=obj)
     form.books.query = Book.query.join(Author.books).union(Book.query)
     if request.method == "POST":
         if form.validate_on_submit():
             form.populate_obj(obj)
             obj.save()
             return redirect("/authors/")
     return render_template("author_edit.html", form=form, obj=obj)
예제 #3
0
파일: main.py 프로젝트: ssergiienko/flasktz
def create_author():
    if request.method == 'GET':
        form = AuthorForm()
    else:   # POST
        form = AuthorForm(request.form)
        if form.validate():
            author = Author('')
            form.populate_obj(author)
            db.session.add(author)
            db.session.commit()
            return redirect(url_for('edit_authors'))
    return render_template('authors_edit_page.html', form=form)
예제 #4
0
def create_author():
    if request.method == 'GET':
        form = AuthorForm()
    else:  # POST
        form = AuthorForm(request.form)
        if form.validate():
            author = Author('')
            form.populate_obj(author)
            db.session.add(author)
            db.session.commit()
            return redirect(url_for('edit_authors'))
    return render_template('authors_edit_page.html', form=form)
예제 #5
0
파일: main.py 프로젝트: ssergiienko/flasktz
def edit_authors(id_=None):
    if id_ is None:
        authors = Author.query.all()
        return render_template('authors_list_page.html', authors=authors)
    else:
        author = Author.query.get_or_404(id_)
        if request.method == 'GET':
            form = AuthorForm(obj=author)
        elif request.method == 'POST':
            form = AuthorForm(request.form)
            if form.validate():
                form.populate_obj(author)
                db.session.add(author)
                db.session.commit()
                return redirect(url_for('edit_authors'))
        else:    # request.method == 'DELETE'
            db.session.delete(author)
            db.session.commit()
            return '', 200
    return render_template('authors_edit_page.html', form=form, obj_id=author.id)
예제 #6
0
def edit_authors(id_=None):
    if id_ is None:
        authors = Author.query.all()
        return render_template('authors_list_page.html', authors=authors)
    else:
        author = Author.query.get_or_404(id_)
        if request.method == 'GET':
            form = AuthorForm(obj=author)
        elif request.method == 'POST':
            form = AuthorForm(request.form)
            if form.validate():
                form.populate_obj(author)
                db.session.add(author)
                db.session.commit()
                return redirect(url_for('edit_authors'))
        else:  # request.method == 'DELETE'
            db.session.delete(author)
            db.session.commit()
            return '', 200
    return render_template('authors_edit_page.html',
                           form=form,
                           obj_id=author.id)
예제 #7
0
파일: views.py 프로젝트: leevg/library
def edit_author(id):
    '''Editing or adding author depending on given id.'''
    if id == 'new':
        author = Author()
    else:
        author = Author.query.filter_by(id=id).first_or_404()
    form = AuthorForm(request.form, obj=author)
    if request.method == 'GET':
        return render_template('edit_author.html', form=form)
    if request.method == 'POST' and form.validate():
        form.populate_obj(author)
        author.name = form.name.data
        author.books = form.books.data
        if id == 'new':
            db.session.add(author)
            flash('Author was successfully added')
        else:
            db.session.merge(author)
            flash('Author info was successfully updated')
        db.session.commit()
        return redirect(url_for('author', id=author.id))
    else:
        return render_template('edit_author.html', form=form)