def create(self, validated_data): user = get_user_model().objects.create_user(**validated_data) data = { 'name': user.name, 'activation_code': user.activation_code } helpers.send_email( 'Gizshop verification', 'verification_email.html', 'verification_text.txt', data, user.email ) return user
def post(self, request, *args, **kwargs): user = request.user try: new_email = request.data['email'] except KeyError: new_email = None try: new_password = request.data['new_password'] except KeyError: new_password = None try: old_password = request.data['old_password'] except KeyError: old_password = None if new_password: if not user.check_password(old_password): return Response({"error": 'Old Password Is Not Valid'}) if len(new_password) < 6: return Response( {'error': 'password must be greater than characters'}, status=status.HTTP_400_BAD_REQUEST) user.set_password(new_password) if new_email: if len(new_email) > 0: if new_email != user.email: if helpers.is_valid_email(new_email): user.email = new_email user.activation_code = uuid.uuid4() user.is_active = False data = { 'name': user.name, 'activation_code': user.activation_code } helpers.send_email('تغییر ایمیل کاربری', 'verification_email.html', 'verification_text.txt', data, user.email) else: return Response({'error': 'email is not valid'}, status=status.HTTP_400_BAD_REQUEST) user.save() return Response({'result': 'success'}, status=status.HTTP_200_OK)
def post(self, request, *args, **kwargs): email = request.data['email'] if helpers.is_valid_email(email): user = get_user_model().objects.filter(email=email).first() if user: user.reset_code = random.randint(100000, 999999) user.save() print(user.reset_code) data = {'reset_code': user.reset_code, 'name': user.name} helpers.send_email('بازیابی رمز عبور گیزشاپ', 'reset_email.html', 'reset_text.txt', data, user.email) return Response({'result': 'success'}, status=status.HTTP_200_OK) return Response({'error': 'user not found'}, status=status.HTTP_404_NOT_FOUND) return Response({'error': 'email is not valid'}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, *args, **kwargs): email: str = request.data['email'] if helpers.is_valid_email(email): user = get_user_model().objects.filter(email=email).first() if user: user.activation_code = uuid.uuid4() user.save() data = { 'name': user.name, 'activation_code': user.activation_code } helpers.send_email('فعالسازی حساب کاربری گیزشاپ', 'verification_email.html', 'verification_text.txt', data, user.email) return Response({'result': 'success'}, status=status.HTTP_200_OK) return Response({'error': 'user not found'}, status=status.HTTP_404_NOT_FOUND) return Response({'error': 'email is not valid'}, status=status.HTTP_400_BAD_REQUEST)
def update(self, instance, validated_data): old_email = instance.email new_email = validated_data['email'] user = super().update(instance, validated_data) if old_email != new_email: user.activation_code = uuid.uuid4() user.is_active = False data = { 'name': user.name, 'activation_code': user.activation_code } helpers.send_email( 'تغییر ایمیل کاربری', 'verification_email.html', 'verification_text.txt', data, user.email ) user.save() return user