update reveal.js

This commit is contained in:
2022-03-31 22:57:32 +01:00
parent 3e5f884db0
commit fb8bbe65a4
4 changed files with 23 additions and 30 deletions

View File

@@ -153,7 +153,7 @@ CSP_DEFAULT_SRC = ("'none'",)
CSP_STYLE_SRC = ("'self'", "'unsafe-inline'") CSP_STYLE_SRC = ("'self'", "'unsafe-inline'")
CSP_IMG_SRC = ("'self'", "data:") CSP_IMG_SRC = ("'self'", "data:")
CSP_FONT_SRC = ("'self'",) CSP_FONT_SRC = ("'self'",)
CSP_SCRIPT_SRC = ("'self'",) CSP_SCRIPT_SRC = ("'self'", "'sha256-khnq7MWUoC3fJlH98ZjaCbVOvyd5+vnfVyue/ca55JA='")
CSP_CONNECT_SRC = ("'self'",) CSP_CONNECT_SRC = ("'self'",)
CSP_INCLUDE_NONCE_IN = ['script-src'] CSP_INCLUDE_NONCE_IN = ['script-src']
CSP_SCRIPT_SRC_ATTR = ("'self'", "'unsafe-inline'") CSP_SCRIPT_SRC_ATTR = ("'self'", "'unsafe-inline'")

View File

@@ -24,7 +24,7 @@
</head> </head>
<body> <body>
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <nav class="navbar navbar-expand-lg navbar-light bg-light" aria-label="menu">
<a class="navbar-brand" href="/"><img src="{% static 'img/logo.svg' %}" class="d-inline-block align-top" height="35px" alt="CB"> Web Reader</a> <a class="navbar-brand" href="/"><img src="{% static 'img/logo.svg' %}" class="d-inline-block align-top" height="35px" alt="CB"> Web Reader</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
@@ -61,6 +61,9 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
{# {% bootstrap_javascript jquery='full' %}#} {# {% bootstrap_javascript jquery='full' %}#}
<script type="text/javascript">
globalThis.regeneratorRuntime = undefined;
</script>
{% sri_static "jquery/dist/jquery.min.js" %} {% sri_static "jquery/dist/jquery.min.js" %}
{% sri_static "bootstrap/dist/js/bootstrap.bundle.js" %} {% sri_static "bootstrap/dist/js/bootstrap.bundle.js" %}
{% sri_static "datatables.net/js/jquery.dataTables.min.js" %} {% sri_static "datatables.net/js/jquery.dataTables.min.js" %}

View File

@@ -82,10 +82,9 @@ def perform_action(request, operation, item_type, selector):
return HttpResponse(400) return HttpResponse(400)
if operation == 'set_classification': if operation == 'set_classification':
form = DirectoryEditForm(request.POST) form = DirectoryEditForm(request.POST)
if form.is_valid() and item_type == 'Directory': if not (form.is_valid() and item_type == 'Directory'):
pass
else:
return HttpResponse(400) return HttpResponse(400)
if item_type == 'ComicBook': if item_type == 'ComicBook':
book = get_object_or_404(ComicBook, selector=selector_uuid) book = get_object_or_404(ComicBook, selector=selector_uuid)
getattr(book, operation)(request.user) getattr(book, operation)(request.user)
@@ -128,12 +127,7 @@ def recent_comics_json(request):
# Ordering # Ordering
if request.POST["order[0][dir]"] == "desc": if request.POST["order[0][dir]"] == "desc":
order_string += "-" order_string += "-"
if request.POST["order[0][dir]"] == "3": order_string += "date_added"
order_string += "date_added"
elif request.POST["order[0][dir]"] == "2":
order_string += "date_added"
else:
order_string += "date_added"
comics = comics.order_by(order_string) comics = comics.order_by(order_string)
comics = comics.annotate( comics = comics.annotate(
unread=Case(When(comicstatus__user=request.user, then='comicstatus__unread')), unread=Case(When(comicstatus__user=request.user, then='comicstatus__unread')),
@@ -235,10 +229,9 @@ def user_config_page(request, user_id):
if request.POST: if request.POST:
form = EditUserForm(request.POST) form = EditUserForm(request.POST)
if form.is_valid(): if form.is_valid():
if "password" in form.cleaned_data: if "password" in form.cleaned_data and len(form.cleaned_data["password"]) != 0:
if len(form.cleaned_data["password"]) != 0: user.set_password(form.cleaned_data["password"])
user.set_password(form.cleaned_data["password"]) success_message.append("Password Updated.")
success_message.append("Password Updated.")
if form.cleaned_data["email"] != user.email: if form.cleaned_data["email"] != user.email:
user.email = form.cleaned_data["email"] user.email = form.cleaned_data["email"]
success_message.append("Email Updated.</br>") success_message.append("Email Updated.</br>")
@@ -293,9 +286,8 @@ def read_comic(request, comic_selector):
selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector)) selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector))
book = get_object_or_404(ComicBook, selector=selector) book = get_object_or_404(ComicBook, selector=selector)
misc, _ = UserMisc.objects.get_or_create(user=request.user) misc, _ = UserMisc.objects.get_or_create(user=request.user)
if book.directory: if book.directory and book.directory.classification > misc.allowed_to_read:
if book.directory.classification > misc.allowed_to_read: return redirect('index')
return redirect('index')
pages = ComicPage.objects.filter(Comic=book) pages = ComicPage.objects.filter(Comic=book)
@@ -341,9 +333,8 @@ def get_image(request, comic_selector, page):
selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector)) selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector))
book = ComicBook.objects.get(selector=selector) book = ComicBook.objects.get(selector=selector)
misc, _ = UserMisc.objects.get_or_create(user=request.user) misc, _ = UserMisc.objects.get_or_create(user=request.user)
if book.directory: if book.directory and book.directory.classification > misc.allowed_to_read:
if book.directory.classification > misc.allowed_to_read: return HttpResponse(status=401)
return HttpResponse(status=401)
img, content = book.get_image(int(page)) img, content = book.get_image(int(page))
return FileResponse(img, content_type=content) return FileResponse(img, content_type=content)
@@ -354,9 +345,8 @@ def comic_thumbnail(request, comic_selector):
selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector)) selector = uuid.UUID(bytes=urlsafe_base64_decode(comic_selector))
book = ComicBook.objects.get(selector=selector) book = ComicBook.objects.get(selector=selector)
misc, _ = UserMisc.objects.get_or_create(user=request.user) misc, _ = UserMisc.objects.get_or_create(user=request.user)
if book.directory: if book.directory and book.directory.classification > misc.allowed_to_read:
if book.directory.classification > misc.allowed_to_read: return HttpResponse(status=401)
return HttpResponse(status=401)
return redirect(book.get_thumbnail_url()) return redirect(book.get_thumbnail_url())

12
package-lock.json generated
View File

@@ -156,9 +156,9 @@
} }
}, },
"node_modules/reveal.js": { "node_modules/reveal.js": {
"version": "4.3.0", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.0.tgz", "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.1.tgz",
"integrity": "sha512-KzZxJjj1gmxVNyplY6g9MiGwtDvZJiYkMvG1Qmaita7vWT/8eoTEK+RuIPLvxDeyxOtTz56u2wrOETVO79qL4A==", "integrity": "sha512-1kyEnWeUkaCdBdX//XXq9dtBK95ppvIlSwlHelrP8/wrX6LcsYp4HT9WTFoFEOUBfVqkm8C2aHQ367o+UKfcxw==",
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
} }
@@ -290,9 +290,9 @@
"peer": true "peer": true
}, },
"reveal.js": { "reveal.js": {
"version": "4.3.0", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.0.tgz", "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.1.tgz",
"integrity": "sha512-KzZxJjj1gmxVNyplY6g9MiGwtDvZJiYkMvG1Qmaita7vWT/8eoTEK+RuIPLvxDeyxOtTz56u2wrOETVO79qL4A==" "integrity": "sha512-1kyEnWeUkaCdBdX//XXq9dtBK95ppvIlSwlHelrP8/wrX6LcsYp4HT9WTFoFEOUBfVqkm8C2aHQ367o+UKfcxw=="
}, },
"reveal.js-menu": { "reveal.js-menu": {
"version": "2.1.0", "version": "2.1.0",