X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/2e76a99938547ca608f9e109bbe3322571976495..17813a3d7d0c5d291da414b89f3a5c1a936ada64:/src/archive/views.py diff --git a/src/archive/views.py b/src/archive/views.py index 6ae2927..cef9bbc 100644 --- a/src/archive/views.py +++ b/src/archive/views.py @@ -8,7 +8,7 @@ from django.contrib.auth.decorators import permission_required from django.contrib.postgres.search import SearchVector from django.urls import reverse from django.db.models import Q, Max -from django.http import Http404, HttpResponse +from django.http import Http404, HttpResponse, JsonResponse from django.shortcuts import render, redirect, get_object_or_404 from django.utils.translation import gettext as _ from django.views.decorators.http import require_POST @@ -301,6 +301,27 @@ class BookView(ListView): b.subtotal = last_vol_sub.total_for_sub return list(qs) +def book_json(request, slug): + qs = models.Audiobook.objects.filter(slug=slug).order_by( + "index" + ) + return JsonResponse({ + "items": [ + { + "id": item.id, + "part": item.part_name, + "mp3_status": item.get_mp3_status_display(), + "ogg_status": item.get_ogg_status_display(), + "youtube_status": item.get_youtube_status_display(), + "project": { + "name": item.project.name, + "can_sell": item.can_sell, + } + } + for item in qs + ] + }) + @permission_required('archive.change_audiobook') def book_youtube_volume(request, aid):