mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
fix for recent where annotations weren't being accounted for.
this is now working correctly.
This commit is contained in:
@@ -182,6 +182,15 @@ def generate_directory(user, directory=False):
|
|||||||
|
|
||||||
|
|
||||||
def generate_label(book):
|
def generate_label(book):
|
||||||
|
"""
|
||||||
|
book need to be annotated with the following from ComicStatus
|
||||||
|
* unread
|
||||||
|
* finished
|
||||||
|
* last_read_page
|
||||||
|
* total_pages
|
||||||
|
:param book: ComicBook
|
||||||
|
:return: str
|
||||||
|
"""
|
||||||
unread_text = '<center><span class="label label-default">Unread</span></center>'
|
unread_text = '<center><span class="label label-default">Unread</span></center>'
|
||||||
if not hasattr(book, 'unread'):
|
if not hasattr(book, 'unread'):
|
||||||
label_text = unread_text
|
label_text = unread_text
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from os import path
|
|||||||
from django.contrib.auth import authenticate, login
|
from django.contrib.auth import authenticate, login
|
||||||
from django.contrib.auth.decorators import login_required, user_passes_test
|
from django.contrib.auth.decorators import login_required, user_passes_test
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.db.models import Max
|
from django.db.models import Max, Count
|
||||||
from django.db.transaction import atomic
|
from django.db.transaction import atomic
|
||||||
from django.http import HttpResponse, FileResponse
|
from django.http import HttpResponse, FileResponse
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
@@ -110,7 +110,7 @@ def recent_comics_json(request):
|
|||||||
start = int(request.POST["start"])
|
start = int(request.POST["start"])
|
||||||
end = start + int(request.POST["length"])
|
end = start + int(request.POST["length"])
|
||||||
icon = '<span class="fa fa-book"></span>'
|
icon = '<span class="fa fa-book"></span>'
|
||||||
comics = ComicBook.objects.all()
|
comics = ComicBook.objects.all().annotate(total_pages=Count('comicpage'))
|
||||||
response_data = dict()
|
response_data = dict()
|
||||||
response_data["recordsTotal"] = comics.count()
|
response_data["recordsTotal"] = comics.count()
|
||||||
if request.POST["search[value]"]:
|
if request.POST["search[value]"]:
|
||||||
@@ -132,6 +132,9 @@ def recent_comics_json(request):
|
|||||||
status, created = ComicStatus.objects.get_or_create(comic=book, user=request.user)
|
status, created = ComicStatus.objects.get_or_create(comic=book, user=request.user)
|
||||||
if created:
|
if created:
|
||||||
status.save()
|
status.save()
|
||||||
|
book.unread = status.unread
|
||||||
|
book.finished = status.finished
|
||||||
|
book.last_read_page = status.last_read_page
|
||||||
response_data["data"].append(
|
response_data["data"].append(
|
||||||
{
|
{
|
||||||
"selector": urlsafe_base64_encode(book.selector.bytes),
|
"selector": urlsafe_base64_encode(book.selector.bytes),
|
||||||
@@ -139,7 +142,7 @@ def recent_comics_json(request):
|
|||||||
"type": "book",
|
"type": "book",
|
||||||
"name": book.file_name,
|
"name": book.file_name,
|
||||||
"date": book.date_added.strftime("%d/%m/%y-%H:%M"),
|
"date": book.date_added.strftime("%d/%m/%y-%H:%M"),
|
||||||
"label": generate_label(book, status),
|
"label": generate_label(book),
|
||||||
"url": "/comic/read/{0}/".format(urlsafe_base64_encode(book.selector.bytes)),
|
"url": "/comic/read/{0}/".format(urlsafe_base64_encode(book.selector.bytes)),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user