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 BanerSerializer(serializers.ModelSerializer):
class Meta: class Meta:

@ -16,7 +16,8 @@ from .serializers.course import (
LessonSerializer, LessonCreateSerializer, LessonSerializer, LessonCreateSerializer,
) )
from .serializers.content import ( from .serializers.content import (
BanerSerializer, ImageSerializer, ImageCreateSerializer, BanerSerializer, BanerImageSerializer,
ImageSerializer, ImageCreateSerializer,
TextSerializer, TextCreateSerializer, TextSerializer, TextCreateSerializer,
ImageTextSerializer, ImageTextCreateSerializer, ImageTextSerializer, ImageTextCreateSerializer,
VideoSerializer, VideoCreateSerializer, VideoSerializer, VideoCreateSerializer,
@ -79,11 +80,26 @@ class AuthorBalanceViewSet(ExtendedModelViewSet):
class BanerViewSet(ExtendedModelViewSet): class BanerViewSet(ExtendedModelViewSet):
queryset = Baner.objects.all() queryset = Baner.objects.all()
serializer_class = BanerSerializer serializer_class = BanerSerializer
serializer_class_map = {
'upload_image': BanerImageSerializer,
}
permission_classes = (IsAdmin,) permission_classes = (IsAdmin,)
filter_fields = ('use',) filter_fields = ('use',)
ordering_fields = ('created_at', 'update_at',) ordering_fields = ('created_at', 'update_at',)
search_fields = ('text',) 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): class ImageObjectViewSet(ExtendedModelViewSet):
queryset = ImageObject.objects.all() queryset = ImageObject.objects.all()

Loading…
Cancel
Save