-
-
Save alfredrumss/c52c57679c58f5bdb9141ae2ee4c0a3e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@classmethod | |
def post(self, request, *args, **kwargs): | |
from .serializers import HomePageSerializer | |
from experience.serializers import ExperienceTranslation, ExperienceTranslationPerformanceDetailDateSerializer | |
from event.serializers import EventTranslation, EventTranslationPerformanceDetailDateSerializer | |
if 'HTTP_ACCEPT_LANGUAGE' in request.META.keys() and \ | |
request.META.get('HTTP_ACCEPT_LANGUAGE') in \ | |
dict(settings.LANGUAGES).keys(): | |
serializer = HomePageSerializer(data=request.data) | |
if serializer.is_valid(): | |
headers = [HeaderTranslationSerializer(translation).data | |
for translation in HeaderTranslation.objects.filter(header__active=True, | |
header__type_header=request.data['type_header'], | |
language=request.META.get( | |
'HTTP_ACCEPT_LANGUAGE')).order_by( | |
'-created_at')] | |
experiences = [ExperienceTranslationPerformanceDetailDateSerializer(translation).data | |
for translation in ExperienceTranslation.objects.filter(language=request.META.get('HTTP_ACCEPT_LANGUAGE'))[:4]] | |
events = [EventTranslationPerformanceDetailDateSerializer(translation).data | |
for translation in EventTranslation.objects.filter(language=request.META.get('HTTP_ACCEPT_LANGUAGE'))[:3]] | |
tracks = [TrackTranslationSerializer(translation).data | |
for translation in TrackTranslation.objects.filter(language=request.META.get('HTTP_ACCEPT_LANGUAGE'))] | |
return Response({ | |
'headers': headers, | |
'experiences': experiences, | |
'events': events, | |
'tracks': tracks | |
}) | |
else: | |
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) | |
else: | |
return Response({'message': 'Must be sent the language in the Header and must exist'}, | |
status=status.HTTP_400_BAD_REQUEST) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment