Bugfix for non existent rating, language, and user downloaded books
This commit is contained in:
parent
de4d6ec7df
commit
f2369609e8
33
cps/web.py
33
cps/web.py
|
@ -484,7 +484,8 @@ def render_downloaded_books(page, order, user_id):
|
||||||
user_id = int(user_id)
|
user_id = int(user_id)
|
||||||
else:
|
else:
|
||||||
user_id = current_user.id
|
user_id = current_user.id
|
||||||
if current_user.check_visibility(constants.SIDEBAR_DOWNLOAD):
|
user = ub.session.query(ub.User).filter(ub.User.id == user_id).first()
|
||||||
|
if current_user.check_visibility(constants.SIDEBAR_DOWNLOAD) and user:
|
||||||
entries, random, pagination = calibre_db.fill_indexpage(page,
|
entries, random, pagination = calibre_db.fill_indexpage(page,
|
||||||
0,
|
0,
|
||||||
db.Books,
|
db.Books,
|
||||||
|
@ -499,7 +500,6 @@ def render_downloaded_books(page, order, user_id):
|
||||||
if not (calibre_db.session.query(db.Books).filter(calibre_db.common_filters())
|
if not (calibre_db.session.query(db.Books).filter(calibre_db.common_filters())
|
||||||
.filter(db.Books.id == book.Books.id).first()):
|
.filter(db.Books.id == book.Books.id).first()):
|
||||||
ub.delete_download(book.Books.id)
|
ub.delete_download(book.Books.id)
|
||||||
user = ub.session.query(ub.User).filter(ub.User.id == user_id).first()
|
|
||||||
return render_title_template('index.html',
|
return render_title_template('index.html',
|
||||||
random=random,
|
random=random,
|
||||||
entries=entries,
|
entries=entries,
|
||||||
|
@ -618,21 +618,19 @@ def render_ratings_books(page, book_id, order):
|
||||||
db.Series,
|
db.Series,
|
||||||
db.books_ratings_link, db.Ratings)
|
db.books_ratings_link, db.Ratings)
|
||||||
title = _("Rating: None")
|
title = _("Rating: None")
|
||||||
rating = -1
|
|
||||||
else:
|
else:
|
||||||
name = calibre_db.session.query(db.Ratings).filter(db.Ratings.id == book_id).first()
|
name = calibre_db.session.query(db.Ratings).filter(db.Ratings.id == book_id).first()
|
||||||
entries, random, pagination = calibre_db.fill_indexpage(page, 0,
|
if name:
|
||||||
db.Books,
|
entries, random, pagination = calibre_db.fill_indexpage(page, 0,
|
||||||
db.Books.ratings.any(db.Ratings.id == book_id),
|
db.Books,
|
||||||
[order[0][0]],
|
db.Books.ratings.any(db.Ratings.id == book_id),
|
||||||
True, config.config_read_column)
|
[order[0][0]],
|
||||||
title = _("Rating: %(rating)s stars", rating=int(name.rating / 2))
|
True, config.config_read_column)
|
||||||
rating = name.rating
|
title = _("Rating: %(rating)s stars", rating=int(name.rating / 2))
|
||||||
if title and rating <= 10:
|
else:
|
||||||
return render_title_template('index.html', random=random, pagination=pagination, entries=entries, id=book_id,
|
abort(404)
|
||||||
title=title, page="ratings", order=order[1])
|
return render_title_template('index.html', random=random, pagination=pagination, entries=entries, id=book_id,
|
||||||
else:
|
title=title, page="ratings", order=order[1])
|
||||||
abort(404)
|
|
||||||
|
|
||||||
|
|
||||||
def render_formats_books(page, book_id, order):
|
def render_formats_books(page, book_id, order):
|
||||||
|
@ -688,6 +686,8 @@ def render_language_books(page, name, order):
|
||||||
try:
|
try:
|
||||||
if name.lower() != "none":
|
if name.lower() != "none":
|
||||||
lang_name = isoLanguages.get_language_name(get_locale(), name)
|
lang_name = isoLanguages.get_language_name(get_locale(), name)
|
||||||
|
if lang_name == "Unknown":
|
||||||
|
abort(404)
|
||||||
else:
|
else:
|
||||||
lang_name = _("None")
|
lang_name = _("None")
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
@ -1036,7 +1036,8 @@ def ratings_list():
|
||||||
.filter(or_(db.Ratings.rating == None, db.Ratings.rating == 0))
|
.filter(or_(db.Ratings.rating == None, db.Ratings.rating == 0))
|
||||||
.filter(calibre_db.common_filters())
|
.filter(calibre_db.common_filters())
|
||||||
.count())
|
.count())
|
||||||
entries.append([db.Category(_("None"), "-1", -1), no_rating_count])
|
if no_rating_count:
|
||||||
|
entries.append([db.Category(_("None"), "-1", -1), no_rating_count])
|
||||||
entries = sorted(entries, key=lambda x: x[0].rating, reverse=not order_no)
|
entries = sorted(entries, key=lambda x: x[0].rating, reverse=not order_no)
|
||||||
return render_title_template('list.html', entries=entries, folder='web.books_list', charlist=list(),
|
return render_title_template('list.html', entries=entries, folder='web.books_list', charlist=list(),
|
||||||
title=_("Ratings list"), page="ratingslist", data="ratings", order=order_no)
|
title=_("Ratings list"), page="ratingslist", data="ratings", order=order_no)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user