Source code for akvo.rest.views.demo_request

# Akvo RSR is covered by the GNU Affero General Public License.

# See more details in the license.txt file located at the root folder of the Akvo RSR module.
# For additional details on the GNU license please see < http://www.gnu.org/licenses/agpl.html >.

from akvo.utils import rsr_send_mail
from django.conf import settings
from rest_framework import serializers
from rest_framework import status
from rest_framework.response import Response
from rest_framework.decorators import api_view


[docs]@api_view(['POST']) def demo_request(request): serializer = DemoRequestSerializer(data=request.data) if not serializer.is_valid(): return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) data = serializer.validated_data mail_to = getattr(settings, 'RSR_DEMO_REQUEST_TO_EMAILS', []) if mail_to: rsr_send_mail( mail_to, subject='demo_request/subject.txt', message='demo_request/message.txt', subject_context=data, msg_context=data ) return Response({'message': 'success'})
[docs]class DemoRequestSerializer(serializers.Serializer): first_name = serializers.CharField() last_name = serializers.CharField() email = serializers.EmailField() phone = serializers.CharField(required=False, allow_blank=True) akvo_hub = serializers.CharField() message = serializers.CharField()
[docs] class Meta: fields = '__all__'