Ejemplo n.º 1
0
def add_book():
    form = BookForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        book = Book()
        book.title = form.title.data
        book.author = form.author.data
        genre = db_sess.query(Genre).filter(Genre.title == form.genre.data).first()
        if not genre:
            new_genre = Genre(title=form.genre.data)
            db_sess.add(new_genre)
            db_sess.commit()
            genre = db_sess.query(Genre).filter(Genre.title == form.genre.data).first()
        book.genre = genre
        book.created_date = form.created_date.data
        book.annotation = form.annotation.data
        book.img_file = form.img_file.data.filename
        print(form.img_file.data)
        print(type(form.img_file.data))
        form.img_file.data.save(f'static/img/{form.img_file.data.filename}')
        book.text_file = form.text_file.data.filename
        form.text_file.data.save(f'static/text/{form.text_file.data.filename}')
        genre.book.append(book)
        db_sess.merge(genre)
        db_sess.commit()
        return redirect('/')
    return render_template('book.html', title='Добавление книги', form=form)
Ejemplo n.º 2
0
def add_book():
    if not current_user.is_authenticated:
        return redirect('/library/login')
        # не работает
    if not current_user.admin:
        access_error('Добавление книги')
    form = BooksForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        book = Book()
        book.title = form.title.data
        book.author = form.author.data
        book.year = form.year.data
        book.genre = form.genre.data
        book.description = form.description.data
        book.text = form.text.data
        db_sess.add(book)
        db_sess.merge(current_user)
        db_sess.commit()
        return redirect('/library')

    return render_template('add_book_page.html',
                           title='Добавление книги',
                           ddescription='YLibrary',
                           form=form)
Ejemplo n.º 3
0
def add_job():
    try:
        if not current_user.is_authenticated:
            return redirect('/library/login')
        if not current_user.admin:
            return AccessError
        form = BooksForm()
        if form.validate_on_submit():
            db_sess = create_session()
            book = Book()
            book.title = form.title.data
            book.author = form.author.data
            book.year = form.year.data
            book.genre = form.genre.data
            book.description = form.description.data
            db_sess.add(book)
            db_sess.merge(current_user)
            db_sess.commit()
            return redirect('/library')
    except AccessError:
        return  # ругается на отсутствие прав доступа
    return render_template('books.html', title='Добавление книги',
                           form=form)