ITRadio/server/proj/config_site/views.py

41 lines
1.5 KiB
Python

from rest_framework.viewsets import GenericViewSet
from rest_framework.response import Response
from rest_framework import status
from rest_framework.decorators import action
from config_site.models import Team, SupportInfo
from config_site.schemas import SendMailSchema
from config_site.serializers import TeamSerializer, SupportInfoSerializer
from django.core.mail import EmailMessage
from conf import settings
class TeamViewSet(GenericViewSet):
queryset = Team
serializer_class = TeamSerializer
def list(self, request):
queryset = self.get_queryset().objects.all()
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
class SupportInfoViewSet(GenericViewSet):
queryset = SupportInfo.objects.all()
serializer_class = SupportInfoSerializer
def list(self, request):
queryset = self.get_queryset().first()
serializer = self.get_serializer(queryset)
return Response(serializer.data, status=status.HTTP_200_OK)
@action(detail=False, methods=['post'], schema=SendMailSchema())
def send_mail(self, request):
title = f"{request.data.get('Name of organization')} - {request.data.get('FCs')}"
email = EmailMessage(
title,
request.data.get('Text'),
settings.EMAIL_HOST_USER,
(request.data.get('Email'),)
)
email.send()
return Response("Сообщение успешно отправлено!", status=status.HTTP_200_OK)