def add_author(): form = AuthorForm(request.form) if request.method == 'POST' and form.validate(): author = Author(form.name.data) session.add(author) session.commit() return redirect(url_for('index')) return render_template('author_form.html', form=form, action="/author/add")
def addauthor(): form = AuthorForm(request.form) if form.validate(): a = Author(form.name.data) db_session.add(a) db_session.commit() return redirect(url_for("singleauthor", a_id=a.id)) else: return redirect(url_for("index"))
def authors_add(): form = AuthorForm(request.form) if request.method == "POST" and form.validate(): new_author = Author(name=form.data.get('name')) db.session.add(new_author) db.session.commit() flash("Author added") return redirect(url_for('authors_view_all')) return render_template('authors/add.html', **locals())
def edit_author(author_id): form = AuthorForm(request.form) if request.method == 'GET': form = AuthorForm(request.form, session.query(Author).get(author_id)) if request.method == 'POST' and form.validate(): author_edited = Author(form.name.data) author_db = session.query(Author).get(author_id) author_db.name = author_edited.name session.commit() return redirect(url_for('index')) return render_template('author_form.html', form=form, action="/author/%s/edit" % author_id, submit_text="Save")
def authors_edit(author_id): author = Author.query.get_or_404(author_id) form = AuthorForm(request.form, obj=author) if request.method == "POST" and form.validate(): author.name = form.data.get('name') db.session.commit() flash("Author changed") return redirect(url_for('authors_view_all')) return render_template('authors/edit.html', **locals())
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 add_author(): form = AuthorForm(request.form) if request.method == 'POST' and form.validate(): author = Author(form.name.data) session.add(author) session.commit() return redirect(url_for('index')) return render_template('author_form.html', form=form, action="/author/add", user_name=current_user.name, user_picture=current_user.picture, if_administrator=verify_administrator())
def author(): form = AuthorForm(formdata=request.form or None) if request.method == 'POST': if request.form and form.validate(): a = Author(name=form.name.data) db.session.add(a) db.session.commit() return redirect(url_for('author')) else: flash('There was an error with your input: %s' % form.errors) return redirect(url_for('author')) else: authors = Author.query.all() return render_template('author.html', authors=authors, form=form)
def edit_author(author_id): form = AuthorForm(request.form) if request.method == 'GET': form = AuthorForm(request.form, session.query(Author).get(author_id)) if request.method == 'POST' and form.validate(): author_edited = Author(form.name.data) author_db = session.query(Author).get(author_id) author_db.name = author_edited.name session.commit() return redirect(url_for('index')) return render_template('author_form.html', form=form, action="/author/%s/edit" % (author_id), submit_text="Save", user_name=current_user.name, user_picture=current_user.picture, if_administrator=verify_administrator())
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 singleauthor(a_id): author = Author.query.filter(Author.id == a_id).one() if request.method == "GET": books = author.books page = {'title': author.name} forms = { 'author': AuthorForm(), 'book': BookForm(), 'authorship': AuthorshipForm(), 'search': SearchForm() } forms['authorship'].books.choices = [(b.id, b.title) for b in Book.query.all()] return render_template("author.html", **locals()) elif request.method == "POST": form = AuthorForm(request.form) if form.validate(): author.name = form.name.data db_session.commit() return redirect(url_for("singleauthor", a_id=a_id)) # либо рендерить?.. elif request.method == "DELETE": db_session.delete(author) db_session.commit() return url_for("index")
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)
def edit_author(number): if number == 'new': author = Author() title = 'Ajouter un auteur dans la bibliotheque' else: author = Author.query.get(number) title = author if os.path.exists('app/static/photos/' + str(author.id)): author.img = True #global author #a = author form = AuthorForm() form.booktoadd.choices = Book.query.filter(Book!=author.books) update = False #if form.validate_on_submit(): if request.form=='POST' and form.validate(): #print form.errors author.firstname = unicode(form.firstname.data) author.familyname = unicode(form.familyname.data) if form.nationality.data != author.nationality: author.nationality= unicode(form.nationality.data) update = True #a.dateofbirth= form.dateofbirth.data if form.placeofbirth.data != author.placeofbirth: author.placeofbirth = unicode(form.placeofbirth.data) update = True if form.website.data != author.website: author.website = unicode(form.website.data) update = True if form.biography.data != author.biography: author.biography = unicode(form.biography.data) update = True # gestion des livres if request.form.getlist('booktodelete'): for item in request.form.getlist('booktodelete'): a = Book.query.get(item) author.remove_book(a) update = True if request.form.getlist('booktoadd'): for item in request.form.getlist('booktoadd'): # even if noting is select, the field return something, a unicode string '__None' # this "if" not to block the whole thing. Same on books ! if item != '__None': a = Book.query.get(item) author.add_book(a) update = True if update: db.session.add(author) db.session.commit() db.session.refresh(author) # the photo will overwrite the previous if existing. # thus, only one per author and nothing else to check if request.method == 'POST' and request.files['portrait']: fileurl = 'app/static/photos/' + str(author.id) image = request.files['portrait'].save(fileurl) return redirect('/admin') return render_template('edit_author.html', form = form, author = author, title = title)