Disable imports in the UI and view

This commit is contained in:
Mouse Reeve 2022-11-17 15:19:42 -08:00
parent 7c7c0e1a93
commit 28567e2d8e
2 changed files with 89 additions and 73 deletions

View file

@ -8,6 +8,7 @@
<div class="block">
<h1 class="title">{% trans "Import Books" %}</h1>
{% if site.imports_enabled %}
{% if recent_avg_hours or recent_avg_minutes %}
<div class="notification">
<p>
@ -85,6 +86,16 @@
</div>
<button class="button is-primary" type="submit">{% trans "Import" %}</button>
</form>
{% else %}
<div class="box notification has-text-centered is-warning m-6 content">
<p class="mt-5">
<span class="icon icon-warning is-size-2" aria-hidden="true"></span>
</p>
<p class="mb-5">
{% trans "Imports are temporarily disabled; thank you for your patience." %}
</p>
</div>
{% endif %}
</div>
<div class="content block">

View file

@ -4,6 +4,7 @@ import datetime
from django.contrib.auth.decorators import login_required
from django.db.models import Avg, ExpressionWrapper, F, fields
from django.core.exceptions import PermissionDenied
from django.core.paginator import Paginator
from django.http import HttpResponseBadRequest
from django.shortcuts import redirect
@ -54,6 +55,10 @@ class Import(View):
def post(self, request):
"""ingest a goodreads csv"""
site = models.Site.objects.get()
if not site.imports_enabled:
raise PermissionDenied()
form = forms.ImportForm(request.POST, request.FILES)
if not form.is_valid():
return HttpResponseBadRequest()