コード例 #1
0
 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
コード例 #2
0
    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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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