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)
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)
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)
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)
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)
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)