41 lines
1.5 KiB
Python
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)
|
|
|