now can show Lost books from menu

This commit is contained in:
2023-07-07 22:45:44 +10:00
parent 133967062f
commit aba532aaae
4 changed files with 13 additions and 4 deletions

8
BUGs
View File

@@ -1,7 +1,11 @@
#### BUGS (next-46) #### BUGS (next-46)
BUG-41: failed to add a book with 2 x same series - implement same fix as BUG-41: failed to add a book with 2 x same series - implement same fix as for duplicate authors (search for processed_bal) - should
for duplicate authors (search for processed_bals) actually turn processed_bal into a function, as its used twice, and maybe able to make it 4 times for series as well if think hard enough.
e.g.
bals, message = RemoveDuplicatesFromForm( what )
# what == "author" or "series" and then hardcode 'author-' or 'book-bsl-'
ALSO stop being inconsistent its bal or bals?
BUG-42: bug-7 removed as bug-41 covers the more useful version of this AND what we also need (this bug) is not allowing adding a BUG-42: bug-7 removed as bug-41 covers the more useful version of this AND what we also need (this bug) is not allowing adding a
sub_book_num for a series that has already been taken -- not sure the DB enforces either sub_book_num for a series that has already been taken -- not sure the DB enforces either

2
TODO
View File

@@ -1,6 +1,4 @@
TODO: TODO:
* should show "Lost" books
* book.parent is an array, not a dict - should change it over * book.parent is an array, not a dict - should change it over
* search, probably all books.html, don't deal with sub books and/or series ordering. Probably should at least do subs ordering (so the code I wrote for author/<id>/books) and use that for search for example * search, probably all books.html, don't deal with sub books and/or series ordering. Probably should at least do subs ordering (so the code I wrote for author/<id>/books) and use that for search for example

View File

@@ -1031,6 +1031,12 @@ def FindMissingBooks():
books.append( { 'id': t.id, 'title': t.title, 'num_books': t.num_books, 'missing': str(missing)[1:-1] } ) books.append( { 'id': t.id, 'title': t.title, 'num_books': t.num_books, 'missing': str(missing)[1:-1] } )
return books return books
@app.route("/lost", methods=["GET"])
@login_required
def lost():
books = Book.query.join(Owned).filter(Owned.name=='Lost').all()
return render_template("books.html", books=books, page_title="Lost Books", show_cols='', hide_cols='Publisher' )
@app.route("/missing_books", methods=["GET"]) @app.route("/missing_books", methods=["GET"])
@login_required @login_required
def missing_books(): def missing_books():

View File

@@ -62,6 +62,7 @@
<a class="dropdown-item" href="{{url_for('books_on_shelf')}}">Show Books on shelf</a> <a class="dropdown-item" href="{{url_for('books_on_shelf')}}">Show Books on shelf</a>
<a class="dropdown-item" href="{{url_for('unrated_books')}}">Show Unrated_Books</a> <a class="dropdown-item" href="{{url_for('unrated_books')}}">Show Unrated_Books</a>
<a class="dropdown-item" href="{{url_for('wishlist')}}">Show Books on wishlist</a> <a class="dropdown-item" href="{{url_for('wishlist')}}">Show Books on wishlist</a>
<a class="dropdown-item" href="{{url_for('lost')}}">Show Books that are lost</a>
<a class="dropdown-item" href="{{url_for('missing_books')}}">Show Missing Books</a> <a class="dropdown-item" href="{{url_for('missing_books')}}">Show Missing Books</a>
<a class="dropdown-item" href="{{url_for('poor_rating_books')}}">Show Books that scored &lt; 5/10</a> <a class="dropdown-item" href="{{url_for('poor_rating_books')}}">Show Books that scored &lt; 5/10</a>
<a class="dropdown-item" href="{{url_for('needs_replacing')}}">Show Books that Need Replacing</a> <a class="dropdown-item" href="{{url_for('needs_replacing')}}">Show Books that Need Replacing</a>