1 # -*- coding: utf-8 -*-
2 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
3 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
5 from functools import wraps
7 from django.shortcuts import get_object_or_404
8 from piston.handler import AnonymousBaseHandler, BaseHandler
9 from piston.utils import rc, validate
10 from catalogue.models import Book
11 from catalogue.forms import BookImportForm
15 class AnonymousBooksHandler(AnonymousBaseHandler):
17 fields = ('slug', 'title')
19 def read(self, request, slug=None):
21 return get_object_or_404(Book, slug=slug)
23 return Book.objects.all()
26 class BooksHandler(BaseHandler):
28 fields = ('slug', 'title')
29 anonymous = AnonymousBooksHandler
31 def create(self, request):
32 if not request.user.has_perm('catalogue.add_book'):
35 form = BookImportForm(request.POST, request.FILES)