X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9c5d9a4e77a10b4e60d89d3890e49002bd7f3993..139af81833f2b6727618d8e2c30cc7157c42e8a1:/apps/api/handlers.py diff --git a/apps/api/handlers.py b/apps/api/handlers.py index 40121d6af..151af2d28 100644 --- a/apps/api/handlers.py +++ b/apps/api/handlers.py @@ -1,17 +1,37 @@ # -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# from django.shortcuts import get_object_or_404 from django.contrib.auth.decorators import login_required, user_passes_test from piston.handler import BaseHandler from piston.utils import rc, validate -from catalogue.models import Book +from catalogue.models import Book, Tag from catalogue.forms import BookImportForm +from catalogue.views import tagged_object_list +class TagHandler(BaseHandler): + allowed_methods = ('GET',) + model = Tag -staff_required = user_passes_test(lambda user: user.is_staff) + def read(self, request, tags=''): + if tags == '': + return Tag.objects.all() + else: + return tagged_object_list(request, tags, api=True) + +class BookHandler(BaseHandler): + model = Book + #fields = ('slug', 'title') + + def read(self, request, slug=None): + if slug: + return get_object_or_404(Book, slug=slug) + else: + return Book.objects.all() +# old +""" +staff_required = user_passes_test(lambda user: user.is_staff) class BookHandler(BaseHandler): model = Book @@ -32,4 +52,4 @@ class BookHandler(BaseHandler): return rc.CREATED else: return rc.BAD_REQUEST - +"""