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)
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)
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)
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)
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)
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)
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)