fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upgrades
[wolnelektury.git]
/
src
/
catalogue
/
api
/
views.py
diff --git
a/src/catalogue/api/views.py
b/src/catalogue/api/views.py
index
335a301
..
8b9dcd8
100644
(file)
--- a/
src/catalogue/api/views.py
+++ b/
src/catalogue/api/views.py
@@
-27,7
+27,7
@@
book_tag_categories = ['author', 'epoch', 'kind', 'genre']
class CollectionList(ListAPIView):
class CollectionList(ListAPIView):
- queryset = Collection.objects.
all(
)
+ queryset = Collection.objects.
filter(listed=True
)
serializer_class = serializers.CollectionListSerializer
serializer_class = serializers.CollectionListSerializer
@@
-45,7
+45,7
@@
class BookList(ListAPIView):
serializer_class = serializers.BookListSerializer
def get(self, request, filename=None, **kwargs):
serializer_class = serializers.BookListSerializer
def get(self, request, filename=None, **kwargs):
- if filename and 'count' not in request.query_params:
+ if filename and
not kwargs.get('tags') and
'count' not in request.query_params:
try:
with open(os.path.join(settings.MEDIA_ROOT, 'api', '%s.%s' % (filename, request.accepted_renderer.format)), 'rb') as f:
content = f.read()
try:
with open(os.path.join(settings.MEDIA_ROOT, 'api', '%s.%s' % (filename, request.accepted_renderer.format)), 'rb') as f:
content = f.read()
@@
-135,6
+135,9
@@
class BookList(ListAPIView):
name = request.POST.get('name', '')
part_name = request.POST.get('part_name', '')
name = request.POST.get('name', '')
part_name = request.POST.get('part_name', '')
+ project_description = request.POST.get('project_description', '')
+ project_icon = request.POST.get('project_icon', '')
+
_rest, slug = request.POST['book'].rstrip('/').rsplit('/', 1)
book = Book.objects.get(slug=slug)
_rest, slug = request.POST['book'].rstrip('/').rsplit('/', 1)
book = Book.objects.get(slug=slug)
@@
-146,6
+149,8
@@
class BookList(ListAPIView):
bm.name = name
bm.part_name = part_name
bm.index = index
bm.name = name
bm.part_name = part_name
bm.index = index
+ bm.project_description = project_description
+ bm.project_icon = project_icon
bm.file.save(None, request.data['file'], save=False)
bm.save(parts_count=parts_count)
bm.file.save(None, request.data['file'], save=False)
bm.save(parts_count=parts_count)
@@
-284,8
+289,10
@@
class TagCategoryView(ListAPIView):
class TagView(RetrieveAPIView):
class TagView(RetrieveAPIView):
+ permission_classes = [DjangoModelPermissionsOrAnonReadOnly]
serializer_class = serializers.TagDetailSerializer
serializer_class = serializers.TagDetailSerializer
-
+ queryset = Tag.objects.all()
+
def get_object(self):
return get_object_or_404(
Tag,
def get_object(self):
return get_object_or_404(
Tag,
@@
-293,6
+300,14
@@
class TagView(RetrieveAPIView):
slug=self.kwargs['slug']
)
slug=self.kwargs['slug']
)
+ def post(self, request, **kwargs):
+ data = json.loads(request.POST.get('data'))
+ desc = data['description_pl']
+ obj = self.get_object()
+ obj.description_pl = desc
+ obj.save(update_fields=['description_pl'], quick=True)
+ return Response({})
+
@vary_on_auth # Because of 'liked'.
class FragmentList(ListAPIView):
@vary_on_auth # Because of 'liked'.
class FragmentList(ListAPIView):