.
This commit is contained in:
@@ -2,6 +2,7 @@ from django.shortcuts import render, get_object_or_404, redirect
|
||||
from django.http import HttpResponse, HttpResponseBadRequest
|
||||
from django.template.loader import render_to_string
|
||||
from .models import Dinosaur, BackgroundImage
|
||||
from .forms import DinosaurBulkFormSet
|
||||
from .forms import DinosaurForm
|
||||
from .forms import BackgroundImageForm
|
||||
|
||||
@@ -143,3 +144,28 @@ def preview_card(request, pk):
|
||||
if is_htmx(request):
|
||||
return render(request, 'cards/_card_preview.html', {'card': card, 'background': background})
|
||||
return render(request, 'cards/preview.html', {'card': card, 'background': background})
|
||||
|
||||
|
||||
def cards_overview(request):
|
||||
"""Overview page showing all cards in a table for quick edits."""
|
||||
backgrounds = BackgroundImage.objects.all()
|
||||
qs = Dinosaur.objects.order_by('name')
|
||||
formset = None
|
||||
return render(request, 'cards/bulk_edit.html', {'cards': qs, 'backgrounds': backgrounds})
|
||||
|
||||
|
||||
def cards_bulk_update(request):
|
||||
"""Handle POST from the bulk edit formset and save changes."""
|
||||
if request.method != 'POST':
|
||||
return HttpResponseBadRequest('Only POST allowed')
|
||||
formset = None
|
||||
try:
|
||||
formset = DinosaurBulkFormSet(request.POST)
|
||||
except Exception:
|
||||
return HttpResponseBadRequest('Invalid submission')
|
||||
if formset.is_valid():
|
||||
formset.save()
|
||||
return redirect('cards:overview')
|
||||
# If invalid, re-render the overview with errors
|
||||
backgrounds = BackgroundImage.objects.all()
|
||||
return render(request, 'cards/bulk_edit.html', {'formset': formset, 'backgrounds': backgrounds})
|
||||
|
||||
Reference in New Issue
Block a user