|
|
|
|
@ -88,17 +88,19 @@ class BanerViewSet(ExtendedModelViewSet): |
|
|
|
|
ordering_fields = ('created_at', 'update_at',) |
|
|
|
|
search_fields = ('text',) |
|
|
|
|
|
|
|
|
|
@detail_route(methods=['post'], url_path='upload-image') |
|
|
|
|
def upload_image(self, request, pk=None): |
|
|
|
|
baner = self.get_object() |
|
|
|
|
serializer = self.get_serializer() |
|
|
|
|
serialized_data = serializer(data=request.data) |
|
|
|
|
if serialized_data.is_valid(): |
|
|
|
|
baner.image = serialized_data['image'] |
|
|
|
|
baner.save() |
|
|
|
|
return Response({'success': True}) |
|
|
|
|
else: |
|
|
|
|
return Response({'success': False}, status=status.HTTP_400_BAD_REQUEST) |
|
|
|
|
def perform_create(self, serializer): |
|
|
|
|
files = dict() |
|
|
|
|
for k, v in self.request.FILES.items(): |
|
|
|
|
if v: |
|
|
|
|
files[k] = v |
|
|
|
|
serializer.save(**files) |
|
|
|
|
|
|
|
|
|
def perform_update(self, serializer): |
|
|
|
|
files = dict() |
|
|
|
|
for k, v in self.request.FILES.items(): |
|
|
|
|
if v: |
|
|
|
|
files[k] = v |
|
|
|
|
serializer.save(**files) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ImageObjectViewSet(ExtendedModelViewSet): |
|
|
|
|
|