Ejemplo n.º 1
0
def password_reset_token_created(sender, instance, reset_password_token, *args,
                                 **kwargs):
    """
    get:
        Handles password reset tokens
        When a token is created, an  e-mail needs to be sent to the user
    """
    sendEmail(reset_password_token.user.email, "reset_password",
              'Reinicia tu contraseña', reset_password_token.key)
    return Response(status=status.HTTP_200_OK)
Ejemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        formData = request.data.copy()
        if "recaptchaToken" in formData.keys():
            tokenRecaptcha = {"recaptcha": formData.pop("recaptchaToken")}
        else:
            return Response('No recaptchaToken',
                            status=status.HTTP_401_UNAUTHORIZED)

        recaptchaSer = ReCaptchaSerializer(data=tokenRecaptcha)
        if recaptchaSer.is_valid():
            try:
                user = User.objects.get(email=formData['email'])
                if (user.is_active):
                    if (user.completed_registration):
                        return Response({'redirect': 'login'},
                                        status=status.HTTP_200_OK)
                    else:
                        return Response(
                            status=status.HTTP_500_INTERNAL_SERVER_ERROR)
                else:
                    if (user.completed_registration):
                        return Response({'redirect': 'activate_user'},
                                        status=status.HTTP_200_OK)
                    else:
                        return Response(
                            {'redirect': 'guest_complete_registration'},
                            status=status.HTTP_200_OK)

            except User.DoesNotExist:
                newGuest = User.objects.create(
                    email=formData['email'],
                    first_name=formData['name'],
                    last_name=formData['lastname'],
                    birth_date=datetime.today().strftime('%Y-%m-%d'),
                    rol_type=formData['rol'],
                    is_active=False,
                    completed_registration=False)

                activation_link = RegisterLink.objects.create(code=createHash(
                    newGuest.pk),
                                                              status=1,
                                                              user=newGuest)
                sendEmail(newGuest.email, "complete_guest_registration",
                          "Completa tu registro", activation_link.code)
                return Response(
                    {
                        "user": UserSerializer(newGuest).data,
                        "token": AuthToken.objects.create(newGuest)
                    },
                    status=status.HTTP_200_OK)
        else:
            return Response(recaptchaSer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
 def put(self, request, pk, *args, **kwargs):
     if request.user.user_type > 1:
         contactrequest = self.get_object(pk)
         serializer = ContactRequestSerializer(contactrequest,
                                               data=request.data,
                                               partial=True)
         if serializer.is_valid():
             serializer.save()
             sendEmail(emailto=contactrequest.email,
                       case="contact_us",
                       subject=request.data['subject'],
                       attached=request.data['reply'])
             return Response(serializer.data)
         return Response(status=status.HTTP_400_BAD_REQUEST)
     return Response(status=status.HTTP_401_UNAUTHORIZED)
Ejemplo n.º 4
0
 def post(self, request, *args, **kwargs):
     if "email" in request.data.keys():
         try:
             user = User.objects.get(email=request.data['email'])
             activation_link = RegisterLink.objects.get(user=user)
             if (not user.is_active and user.completed_registration):
                 sendEmail(user.email, "sign_up", "Active su cuenta",
                           activation_link.code)
                 return Response(status=status.HTTP_200_OK)
             if (not user.is_active and not user.completed_registration):
                 sendEmail(user.email, "complete_guest_registration",
                           "Completa tu registro", activation_link.code)
                 return Response(status=status.HTTP_200_OK)
             else:
                 return Response(status=status.HTTP_400_BAD_REQUEST)
         except (User.DoesNotExist, RegisterLink.DoesNotExist) as e:
             return Response(status=status.HTTP_404_NOT_FOUND)
Ejemplo n.º 5
0
 def put(self, request, pk, *args, **kwargs):
     if request.user.user_type >= 2:
         photo_request = self.get_object(pk)
         serializer = PhotoRequestSerializer(
             photo_request, data=request.data, partial=True)
         if serializer.is_valid():
             serializer.save()
             if request.data['approved']:
                 print(request.data['attached'])
                 sendEmail(emailto=photo_request.email, case="photo_request_success",
                           subject='Hemos resuelto su solicitud', attached=request.data['attached'])
             else:
                 sendEmail(emailto=photo_request.email, case="photo_request_failure",
                           subject='Hemos resuelto su solicitud', attached=[])
             return Response(serializer.data)
         else:
             return Response(status=status.HTTP_400_BAD_REQUEST)
     else:
         return Response(status=status.HTTP_401_UNAUTHORIZED)
Ejemplo n.º 6
0
    def post(self, request, *args, **kwargs):
        formData = request.data.copy()
        if "recaptchaToken" in formData.keys():
            tokenRecaptcha = {"recaptcha": formData.pop("recaptchaToken")[0]}
        else:
            return Response("No recaptcha token",
                            status=status.HTTP_400_BAD_REQUEST)
        serializer = self.serializer_class(data=formData,
                                           context={'request': request})
        recaptchaSer = ReCaptchaSerializer(data=tokenRecaptcha)

        if recaptchaSer.is_valid():
            serializer.is_valid(raise_exception=True)
            user = serializer.save()
            activation_link = RegisterLink(code=createHash(user.pk),
                                           status=1,
                                           user=user)
            activation_link.save()
            sendEmail(user.email, "sign_up", "Active su cuenta",
                      activation_link.code)
            return Response(status=status.HTTP_200_OK)
        return Response(recaptchaSer.errors,
                        status=status.HTTP_400_BAD_REQUEST)