Beispiel #1
0
def author_add():
    name = request.args.get('author')
    print name
    print Author.by_name(name)
    if name and not Author.by_name(name):
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        #return jsonify(author=author)
        return render_template('author.html', author=author)
Beispiel #2
0
def author_add():
    name = request.args.get('author')
    print name
    print Author.by_name(name)
    if name and not Author.by_name(name):        
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        #return jsonify(author=author)
        return render_template('author.html', author=author)
Beispiel #3
0
def edit_book(id):
    book = Book.query.get(id)
    if book == None:
        flash("Book is not found")
        return redirect(url_for('books'))
    print book.authors
    form = EditBook(book=book)    
    print form.data, 'hah'
    #form.authors.min_entries = len(book.authors)
    # print form.authors.data
    # form.authors[0].data = book.authors[0].name
    # for author in book.authors[1:]:
    #     form.authors.append_entry(author.name)    
    # print form.authors.data

    if form.validate_on_submit():        
        print form.data
        name = form.data['title']
        newbook = Book.query.filter_by(name=name).first()         
        if newbook and id != newbook.id:
            flash("Can't change name to existing one.")
            return redirect(url_for('edit_book', id=id))
        book.name = name
        authors = list(set([Author.by_name(name=a)
            for a in form.data['authors'] if Author.exists(name=a)]))
        #print authors
        book.authors = authors        
        db.session.commit()
        flash('Changes have been saved.')
        return redirect(url_for('edit_book', id=id))
    return render_template('edit_book.html', form=form)
Beispiel #4
0
def edit_book(id):
    book = Book.query.get(id)
    if book == None:
        flash("Book is not found")
        return redirect(url_for('books'))
    print book.authors
    form = EditBook(book=book)
    print form.data, 'hah'
    #form.authors.min_entries = len(book.authors)
    # print form.authors.data
    # form.authors[0].data = book.authors[0].name
    # for author in book.authors[1:]:
    #     form.authors.append_entry(author.name)
    # print form.authors.data

    if form.validate_on_submit():
        print form.data
        name = form.data['title']
        newbook = Book.query.filter_by(name=name).first()
        if newbook and id != newbook.id:
            flash("Can't change name to existing one.")
            return redirect(url_for('edit_book', id=id))
        book.name = name
        authors = list(
            set([
                Author.by_name(name=a) for a in form.data['authors']
                if Author.exists(name=a)
            ]))
        #print authors
        book.authors = authors
        db.session.commit()
        flash('Changes have been saved.')
        return redirect(url_for('edit_book', id=id))
    return render_template('edit_book.html', form=form)
Beispiel #5
0
def edit_author(id):
    author = Author.query.get(id)
    if author is None:
        flash("Author is not found")
        return redirect(url_for('authors'))
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        if Author.by_name(name) and Author.by_name(name).id != author.id:
            flash("Can't change name to existing one.")
            return redirect(url_for('edit_author', id=id))
        author.name = name
        db.session.commit()
        flash('Your changes have been saved.')
        return redirect(url_for('edit_author', id=id))
    form.name.data = author.name
    return render_template('edit_author.html', form=form)
Beispiel #6
0
def edit_author(id):
    author = Author.query.get(id)
    if author is None:
        flash("Author is not found")
        return redirect(url_for('authors'))
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        if Author.by_name(name) and Author.by_name(name).id != author.id:
            flash("Can't change name to existing one.")
            return redirect(url_for('edit_author', id=id))
        author.name = name
        db.session.commit()
        flash('Your changes have been saved.')
        return redirect(url_for('edit_author', id=id))
    form.name.data = author.name
    return render_template('edit_author.html', form=form)
Beispiel #7
0
def books(page=1):
    form = AddBook()
    if form.validate_on_submit():        
        title = form.data['title']
        book = Book.query.filter_by(name=title).first()
        if book:
            flash('Book already exists.')
            return redirect(url_for('edit_book', id=book.id))
        authors = list(set([Author.by_name(name=a)
            for a in form.data['authors'] if a and Author.by_name(name=a)]))        
        book = Book(title, authors)
        db.session.add(book)
        db.session.commit()
        flash('Book has been added.')
        return redirect(url_for('books'))
    books = Book.query.order_by(
        Book.created.desc()).paginate(page, POSTS_PER_PAGE, False)
    return render_template('books.html', books=books, form=form)
Beispiel #8
0
def books(page=1):
    form = AddBook()
    if form.validate_on_submit():
        title = form.data['title']
        book = Book.query.filter_by(name=title).first()
        if book:
            flash('Book already exists.')
            return redirect(url_for('edit_book', id=book.id))
        authors = list(
            set([
                Author.by_name(name=a) for a in form.data['authors']
                if a and Author.by_name(name=a)
            ]))
        book = Book(title, authors)
        db.session.add(book)
        db.session.commit()
        flash('Book has been added.')
        return redirect(url_for('books'))
    books = Book.query.order_by(Book.created.desc()).paginate(
        page, POSTS_PER_PAGE, False)
    return render_template('books.html', books=books, form=form)
Beispiel #9
0
def add_author():
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        registered_author = Author.by_name(name)
        if registered_author:
            flash('Author already exists.')
            return redirect(url_for('edit_author'))
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        flash("You've added a new author.")
        return redirect(url_for('authors'))
    return render_template('add_author.html', form=form)
Beispiel #10
0
def add_author():
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        registered_author = Author.by_name(name)
        if registered_author:
            flash('Author already exists.')
            return redirect(url_for('edit_author'))
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        flash("You've added a new author.")
        return redirect(url_for('authors'))
    return render_template('add_author.html', form=form)
Beispiel #11
0
def authors(page=1):
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        registered_author = Author.by_name(name)
        if registered_author:
            flash('Author already exists.')
            return redirect(url_for('authors'))
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        flash("You've added a new author.")
        return redirect(url_for('authors')) 
    authors = Author.query.order_by(
        Author.created.desc()).paginate(page, POSTS_PER_PAGE, False)
    return render_template('authors.html', authors=authors, form=form)
Beispiel #12
0
def authors(page=1):
    form = EditAuthor()
    if form.validate_on_submit():
        name = form.name.data
        registered_author = Author.by_name(name)
        if registered_author:
            flash('Author already exists.')
            return redirect(url_for('authors'))
        author = Author(name)
        db.session.add(author)
        db.session.commit()
        flash("You've added a new author.")
        return redirect(url_for('authors'))
    authors = Author.query.order_by(Author.created.desc()).paginate(
        page, POSTS_PER_PAGE, False)
    return render_template('authors.html', authors=authors, form=form)
Beispiel #13
0
def add_book():
    form = AddBook()
    if form.validate_on_submit():        
        title = form.data['title']
        book = Book.query.filter_by(name=title).first()
        if book:
            flash('Book already exists.')
            return redirect(url_for('edit_book', id=book.id))
        authors = list(set([Author.by_name(name=a)
            for a in form.data['authors'] if Author.exists(name=a)]))      
        book = Book(title, authors)
        db.session.add(book)
        db.session.commit()
        flash('Book has been added.')
        return redirect(url_for('books'))
    print form.data['authors']
    return render_template('add_book.html', form=form)
Beispiel #14
0
def add_book():
    form = AddBook()
    if form.validate_on_submit():
        title = form.data['title']
        book = Book.query.filter_by(name=title).first()
        if book:
            flash('Book already exists.')
            return redirect(url_for('edit_book', id=book.id))
        authors = list(
            set([
                Author.by_name(name=a) for a in form.data['authors']
                if Author.exists(name=a)
            ]))
        book = Book(title, authors)
        db.session.add(book)
        db.session.commit()
        flash('Book has been added.')
        return redirect(url_for('books'))
    print form.data['authors']
    return render_template('add_book.html', form=form)