Add upload image route for baner image

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 929c0ad24f
commit ca609a013c
  1. 6
      api/v1/serializers/content.py
  2. 18
      api/v1/views.py

@ -22,6 +22,12 @@ BASE_CONTENT_FIELDS = (
)
class BanerImageSerializer(serializers.Serializer):
photo = Base64ImageField(
required=False, allow_empty_file=True, allow_null=True
)
class BanerSerializer(serializers.ModelSerializer):
class Meta:

@ -16,7 +16,8 @@ from .serializers.course import (
LessonSerializer, LessonCreateSerializer,
)
from .serializers.content import (
BanerSerializer, ImageSerializer, ImageCreateSerializer,
BanerSerializer, BanerImageSerializer,
ImageSerializer, ImageCreateSerializer,
TextSerializer, TextCreateSerializer,
ImageTextSerializer, ImageTextCreateSerializer,
VideoSerializer, VideoCreateSerializer,
@ -79,11 +80,26 @@ class AuthorBalanceViewSet(ExtendedModelViewSet):
class BanerViewSet(ExtendedModelViewSet):
queryset = Baner.objects.all()
serializer_class = BanerSerializer
serializer_class_map = {
'upload_image': BanerImageSerializer,
}
permission_classes = (IsAdmin,)
filter_fields = ('use',)
ordering_fields = ('created_at', 'update_at',)
search_fields = ('text',)
@detail_route(methods=['post'], url_path='upload-image')
def upload_image(self, request, pk=None):
config = self.get_object()
serializer = self.get_serializer()
serialized_data = serializer(data=request.data)
if serialized_data.is_valid():
config.image = serialized_data['image']
config.save()
return Response({'success': True})
else:
return Response({'success': False}, status=status.HTTP_400_BAD_REQUEST)
class ImageObjectViewSet(ExtendedModelViewSet):
queryset = ImageObject.objects.all()

Loading…
Cancel
Save