Пример #1
0
 def test_renew_form_year_field_initial(self):
     user = User.objects.create(id=4, full_name='Иванов Иван', middle_name='Иванович', birth_day=datetime.date(
         1997, 5, 2), phone='+375(29)508-80-02')
     book = Book.objects.create(
         id=4, reader=user, book_name='Чистый код', author_full_name='Роберт Мартин', year=2020)
     form = EditBookForm(book)
     self.assertTrue(form.fields['year'].initial == 2020)
Пример #2
0
def edit_book(book_id):
    book = db.session.query(Book).filter_by(id=book_id).one()
    form = EditBookForm(book)
    if form.validate_on_submit():
        if book.user.id == g.user.id:
            book.book_title = form.book_title.data
            db.session.add(book)
            db.session.commit()
            flash("Book edited!")
            return redirect(url_for('edit_book', book_id=book_id, form=form))
        else:
            flash('You are not authorized to edit this book','error')
            return redirect(url_for('edit_book', book_id=book_id))
    else:
        form.book_title.data = book.book_title
        authors = book.authors
        add_author_form = AddAuthorToBookForm()
    return render_template('book_edit.html', book=book, form=form, authors=authors, add_author_form=add_author_form)
Пример #3
0
def edit_book(ISBN):
    # Handle form PUT request
    book = Book.query.get(ISBN)
    form = EditBookForm(obj=book)

    if form.validate_on_submit():
        authors = [author.strip() for author in form.data['authors'].split(',')]
        keywords = [keyword.strip() for keyword in form.data['keywords'].split(',')]

        form.populate_obj(book)
        book.authors = authors
        book.keywords = keywords

        if save(book):
            flash('Book details updated successfully!')

        else:
            flash('Failed to update book details. Please try again.')

    return render_template('store_manager/book/edit.html', form=form, book=book)
Пример #4
0
def edit_book_view(request, book_id):
    book = Book.objects.get(id=book_id)
    form = EditBookForm(book, request.POST or None)
    if form.is_valid():
        book_name = form.cleaned_data['book_name']
        author_full_name = form.cleaned_data['author_full_name']
        year = form.cleaned_data['year']
        cost = form.cleaned_data['cost']
        pages = form.cleaned_data['pages']
        book.book_name = book_name
        book.author_full_name = author_full_name
        book.year = year
        book.cost = cost
        book.pages = pages
        book.save()
        return HttpResponseRedirect('/book/'+str(book.reader.id)+'/')

    context = {
        'book': book,
        'form': form
    }
    return render(request, 'edit_book.html', context)
Пример #5
0
def edit_book(book_id):
    form=EditBookForm()
    book=Book.query.get(book_id)
    if request.method=='POST':
        book.title=form.title.data
        book.author=form.author.data
        db.session.commit()
        flash('Your changes have been saved!', 'info')
        return redirect(url_for('books'))

    elif request.method=='GET':
        form.title.data=book.title
        form.author.data=book.author
    return render_template('edit_book.html', form=form)  
Пример #6
0
def editBook(bookID):
    form = EditBookForm()
    current_book = Book.query.get(bookID)

    # If the form is valid it changes the book data and commits
    if form.validate_on_submit():
        current_book.title = form.title.data
        current_book.author = form.author.data
        current_book.genre = form.genre.data
        current_book.format = form.format.data
        db.session.commit()
        flash('Changes have been saved')
        return redirect(url_for('index'))
    # This fills the form with the book's data
    elif request.method == 'GET':
        form.title.data = current_book.title
        form.author.data = current_book.author
        form.genre.data = current_book.genre
        form.format.data = current_book.format
    return render_template('editBook.html',
                           title='Edit',
                           form=form,
                           current_book=current_book)