Пример #1
0
def edit_book(request):
    form = BookForm(request.POST)
    if request.method == 'POST' and form.validate():
        form.populate_obj(user)
        user.save()
        redirect('edit_profile')
    return render_response('edit_profile.html', form=form)
Пример #2
0
 def dispatch_request(self):
     form = BookForm()
     form.authors.query = Author.query.all()
     if request.method == "POST":
         if form.validate_on_submit():
             obj = Book()
             form.populate_obj(obj)
             obj.save()
             return redirect("/books/")
     return render_template("book_add.html", form=form)
Пример #3
0
 def dispatch_request(self, obj_id):
     obj = Book.query.get_or_404(obj_id)
     form = BookForm(obj=obj)
     form.authors.query = Author.query.join(Book.authors).union(Author.query)
     if request.method == "POST":
         if form.validate_on_submit():
             form.populate_obj(obj)
             obj.save()
             return redirect("/books/")
     return render_template("book_edit.html", form=form, obj=obj)
Пример #4
0
def create_book():
    if request.method == 'GET':
        form = BookForm()
    else:  # POST
        form = BookForm(request.form)
        if form.validate():
            book = Book('')
            form.populate_obj(book)
            db.session.add(book)
            db.session.commit()
            return redirect(url_for('edit_books'))
    return render_template('books_edit_page.html', form=form)
Пример #5
0
def create_book():
    if request.method == 'GET':
        form = BookForm()
    else:   # POST
        form = BookForm(request.form)
        if form.validate():
            book = Book('')
            form.populate_obj(book)
            db.session.add(book)
            db.session.commit()
            return redirect(url_for('edit_books'))
    return render_template('books_edit_page.html', form=form)
Пример #6
0
def book_update(id):
    """
    update books
    """
    book = Book.query.get(id)
    book_form = BookForm(obj=book)
    if request.method == 'POST':
        if book_form.validate_on_submit():
            book_form.populate_obj(book)
            db.session.add(book)
            db.session.commit()
            return redirect('/')
    return render_template('book_edit.html', book_form=book_form)
Пример #7
0
def book_add():
    """
    returns book add function
    """
    book = Book()
    book_form = BookForm(obj=book)
    if request.method == 'POST':
        if book_form.validate_on_submit():
            book_form.populate_obj(book)
            db.session.add(book)
            db.session.commit()
            return redirect('/')
    return render_template('book_edit.html', book_form=book_form)
Пример #8
0
def book_update(book_id):
    book = session.query(Book).filter(Book.id == book_id).one()
    form = BookForm(obj=book)
    success = False
    if request.method == 'POST':
        form = BookForm(request.form)
        if form.validate():
            form.populate_obj(book)
            session.add(book)
            session.commit()
            success = True
    return render_template(
        'book_update.html', **{
            'book_id': book,
            'form': form,
            'success': success
        })
Пример #9
0
def edit_books(id_=None):
    if id_ is None:
        books = Book.query.all()
        return render_template('books_list_page.html', books=books)
    else:
        book = Book.query.get_or_404(id_)
        if request.method == 'GET':
            form = BookForm(obj=book)
        elif request.method == 'POST':
            form = BookForm(request.form)
            if form.validate():
                form.populate_obj(book)
                db.session.add(book)
                db.session.commit()
                return redirect(url_for('edit_books'))
        else:    # request.method == 'DELETE'
            db.session.delete(book)
            db.session.commit()
            return '', 200
    return render_template('books_edit_page.html', form=form, obj_id=book.id)
Пример #10
0
def edit_book(isbn):
    '''
    Edit book

    :param isbn: ISBN
    '''
    my_book = Book.query.filter_by(isbn=isbn).first()
    form = BookForm(obj=my_book)
    if form.validate_on_submit():
        try:
            form.populate_obj(my_book)
            db.session.add(my_book)
            db.session.commit()
            flash('Saved successfully', 'success')
        except:
            db.session.rollback()
            flash('Error update book.', 'danger')
    return render_template(
        'web/edit_book.html',
        form=form)
Пример #11
0
def edit_books(id_=None):
    if id_ is None:
        books = Book.query.all()
        return render_template('books_list_page.html', books=books)
    else:
        book = Book.query.get_or_404(id_)
        if request.method == 'GET':
            form = BookForm(obj=book)
        elif request.method == 'POST':
            form = BookForm(request.form)
            if form.validate():
                form.populate_obj(book)
                db.session.add(book)
                db.session.commit()
                return redirect(url_for('edit_books'))
        else:  # request.method == 'DELETE'
            db.session.delete(book)
            db.session.commit()
            return '', 200
    return render_template('books_edit_page.html', form=form, obj_id=book.id)
Пример #12
0
def new_book():
    '''
    Create new book
    '''
    form = BookForm()
    if form.validate_on_submit():

        # TODO
        isbn = request.form['isbn']
        name = request.form['name']
        book_db = db.session.query(Book).filter_by(isbn=isbn)
        user_db = db.session.query(User).filter_by(
            name=name).first()
        if book_db is None:
            if user_db is not None:
                pw_db = user_db.password
                pw_in = request.form['password']
                print(name)
                print(pw_db)
                print(pw_in)
                if pw_db == pw_db:
                    # db.session.add(user)
                    user = User.query.filter_by(name=name).first()
                    print(user.name)
                    #
                    my_book = Book()
                    form.populate_obj(my_book)
                    try:
                        db.session.add(my_book)
                        user.books.append(my_book)
                        db.session.commit()
                        # User info
                        flash('Book created correctly', 'success')
                        # return redirect(url_for('books'))
                        return redirect(url_for('new_book'))
                    except:
                        db.session.rollback()
                        flash('Error generating book.', 'danger')
                        # flash(traceback.format_exc(), 'danger')

    return render_template('web/new_book.html', form=form)
Пример #13
0
def edit_book(id):
    '''Editing or adding new book depends on given id.'''
    if id == 'new':
        book = Book()
    else:
        book = Book.query.filter_by(id=id).first_or_404()
    form = BookForm(request.form, obj=book)
    if request.method == 'GET':
        return render_template('edit_book.html', form=form)
    if request.method == 'POST' and form.validate():
        form.populate_obj(book)
        book.title = form.title.data
        book.authors = form.authors.data
        if id == 'new':
            db.session.add(book)
            flash('Book was successfully added')
        else:
            db.session.merge(book)
            flash('Book was successfully updated')
        db.session.commit()
        return redirect(url_for('book', id=book.id))
    else:
        return render_template('edit_book.html', form=form)