def create(self, validated_data): user_data = validated_data['director'] if not ValidarCPF(user_data['username']): raise serializers.ValidationError({'username': '******'}) if not ValidarSenha(user_data['password']): raise serializers.ValidationError({ 'password': '******' }) if not ValidarClassificacaoEscola( validated_data['school']['classification_school']): raise serializers.ValidationError( {'classification_school': 'Classificacao invalida.'}) if not ValidarTipoEscola(validated_data['school']['type_school']): raise serializers.ValidationError( {'type_school': 'Tipo inválido.'}) user = UserSerializer.create(UserSerializer(), validated_data=user_data) vigencia = Vigencia.objects.create( initial_date=validated_data['initial_date'], final_date=validated_data['final_date'], director=user) vigencia.save() escola = SchoolSerializer.create( SchoolSerializer(), validated_data=validated_data['school'], user=user, vig=vigencia) return user
def create(self, request, *args, **kwargs): serializer = UserSerializer(data=request.data) if serializer.is_valid(): serializer.create(serializer.validated_data) # Send email when user creates account email = request.data.get('email') send_mail( WELCOME_EMAIL_SUBJECT, WELCOME_EMAIL_MESSAGE, COMPANY_EMAIL, [email], fail_silently=False, ) return Response('Successfully created an account', status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)