mirror of
https://github.com/Tivix/django-rest-auth.git
synced 2025-02-06 13:10:32 +03:00
chore: refactored error messages
This commit is contained in:
parent
9d1f65eedc
commit
e0c4ffe0d6
|
@ -23,6 +23,21 @@ class SocialLoginSerializer(serializers.Serializer):
|
|||
access_token = serializers.CharField(required=False, allow_blank=True)
|
||||
code = serializers.CharField(required=False, allow_blank=True)
|
||||
|
||||
default_error_messages = {
|
||||
'view_not_defined':
|
||||
_('View is not defined, pass it as a context variable'),
|
||||
'adapter_class_missing':
|
||||
_('Define adapter_class in view'),
|
||||
'callback_url_missing':
|
||||
_('Define callback_url in view'),
|
||||
'client_class_missing':
|
||||
_('Define client_class in view'),
|
||||
'incorrect_input':
|
||||
_('Incorrect input. access_token or code is required.'),
|
||||
'incorrect_value':
|
||||
_('Incorrect value')
|
||||
}
|
||||
|
||||
def _get_request(self):
|
||||
request = self.context.get('request')
|
||||
if not isinstance(request, HttpRequest):
|
||||
|
@ -49,13 +64,11 @@ class SocialLoginSerializer(serializers.Serializer):
|
|||
request = self._get_request()
|
||||
|
||||
if not view:
|
||||
raise serializers.ValidationError(
|
||||
_("View is not defined, pass it as a context variable")
|
||||
)
|
||||
self.fail('view_not_defined')
|
||||
|
||||
adapter_class = getattr(view, 'adapter_class', None)
|
||||
if not adapter_class:
|
||||
raise serializers.ValidationError(_("Define adapter_class in view"))
|
||||
self.fail('adapter_class_missing')
|
||||
|
||||
adapter = adapter_class(request)
|
||||
app = adapter.get_provider().get_app(request)
|
||||
|
@ -73,13 +86,12 @@ class SocialLoginSerializer(serializers.Serializer):
|
|||
self.client_class = getattr(view, 'client_class', None)
|
||||
|
||||
if not self.callback_url:
|
||||
self.fail('callback_url_missing')
|
||||
raise serializers.ValidationError(
|
||||
_("Define callback_url in view")
|
||||
)
|
||||
if not self.client_class:
|
||||
raise serializers.ValidationError(
|
||||
_("Define client_class in view")
|
||||
)
|
||||
self.fail('client_class_missing')
|
||||
|
||||
code = attrs.get('code')
|
||||
|
||||
|
@ -98,8 +110,7 @@ class SocialLoginSerializer(serializers.Serializer):
|
|||
access_token = token['access_token']
|
||||
|
||||
else:
|
||||
raise serializers.ValidationError(
|
||||
_("Incorrect input. access_token or code is required."))
|
||||
self.fail('incorrect_input')
|
||||
|
||||
social_token = adapter.parse_token({'access_token': access_token})
|
||||
social_token.app = app
|
||||
|
@ -108,7 +119,7 @@ class SocialLoginSerializer(serializers.Serializer):
|
|||
login = self.get_social_login(adapter, app, social_token, access_token)
|
||||
complete_social_login(request, login)
|
||||
except HTTPError:
|
||||
raise serializers.ValidationError(_('Incorrect value'))
|
||||
self.fail('incorrect_value')
|
||||
|
||||
if not login.is_existing:
|
||||
login.lookup()
|
||||
|
@ -128,6 +139,13 @@ class RegisterSerializer(serializers.Serializer):
|
|||
password1 = serializers.CharField(write_only=True)
|
||||
password2 = serializers.CharField(write_only=True)
|
||||
|
||||
default_error_messages = {
|
||||
'user_already_registered':
|
||||
_('A user is already registered with this e-mail address.'),
|
||||
'password_didnt_match':
|
||||
_('The two password fields didn\'t match.')
|
||||
}
|
||||
|
||||
def validate_username(self, username):
|
||||
username = get_adapter().clean_username(username)
|
||||
return username
|
||||
|
@ -136,8 +154,7 @@ class RegisterSerializer(serializers.Serializer):
|
|||
email = get_adapter().clean_email(email)
|
||||
if allauth_settings.UNIQUE_EMAIL:
|
||||
if email and email_address_exists(email):
|
||||
raise serializers.ValidationError(
|
||||
_("A user is already registered with this e-mail address."))
|
||||
self.fail('user_already_registered')
|
||||
return email
|
||||
|
||||
def validate_password1(self, password):
|
||||
|
@ -145,7 +162,7 @@ class RegisterSerializer(serializers.Serializer):
|
|||
|
||||
def validate(self, data):
|
||||
if data['password1'] != data['password2']:
|
||||
raise serializers.ValidationError(_("The two password fields didn't match."))
|
||||
self.fail('password_didnt_match')
|
||||
return data
|
||||
|
||||
def custom_signup(self, request, user):
|
||||
|
|
|
@ -21,14 +21,28 @@ class LoginSerializer(serializers.Serializer):
|
|||
email = serializers.EmailField(required=False, allow_blank=True)
|
||||
password = serializers.CharField(style={'input_type': 'password'})
|
||||
|
||||
default_error_messages = {
|
||||
'email_and_password_required':
|
||||
_('Must include "email" and "password".'),
|
||||
'username_and_password_required':
|
||||
_('Must include "username" and "password".'),
|
||||
'either_username_or_email_and_password_required':
|
||||
_('Must include either "username" or "email" and "password".'),
|
||||
'user_account_disabled':
|
||||
_('User account is disabled.'),
|
||||
'cannot_log_in':
|
||||
_('Unable to log in with provided credentials.'),
|
||||
'email_not_verified':
|
||||
_('E-mail is not verified.'),
|
||||
}
|
||||
|
||||
def _validate_email(self, email, password):
|
||||
user = None
|
||||
|
||||
if email and password:
|
||||
user = authenticate(email=email, password=password)
|
||||
else:
|
||||
msg = _('Must include "email" and "password".')
|
||||
raise exceptions.ValidationError(msg)
|
||||
self.fail('email_and_password_required')
|
||||
|
||||
return user
|
||||
|
||||
|
@ -38,8 +52,7 @@ class LoginSerializer(serializers.Serializer):
|
|||
if username and password:
|
||||
user = authenticate(username=username, password=password)
|
||||
else:
|
||||
msg = _('Must include "username" and "password".')
|
||||
raise exceptions.ValidationError(msg)
|
||||
self.fail('username_and_password_required')
|
||||
|
||||
return user
|
||||
|
||||
|
@ -51,8 +64,7 @@ class LoginSerializer(serializers.Serializer):
|
|||
elif username and password:
|
||||
user = authenticate(username=username, password=password)
|
||||
else:
|
||||
msg = _('Must include either "username" or "email" and "password".')
|
||||
raise exceptions.ValidationError(msg)
|
||||
self.fail('either_username_or_email_and_password_required')
|
||||
|
||||
return user
|
||||
|
||||
|
@ -92,11 +104,9 @@ class LoginSerializer(serializers.Serializer):
|
|||
# Did we get back an active user?
|
||||
if user:
|
||||
if not user.is_active:
|
||||
msg = _('User account is disabled.')
|
||||
raise exceptions.ValidationError(msg)
|
||||
self.fail('user_account_disabled')
|
||||
else:
|
||||
msg = _('Unable to log in with provided credentials.')
|
||||
raise exceptions.ValidationError(msg)
|
||||
self.fail('cannot_log_in')
|
||||
|
||||
# If required, is the email verified?
|
||||
if 'rest_auth.registration' in settings.INSTALLED_APPS:
|
||||
|
@ -104,7 +114,7 @@ class LoginSerializer(serializers.Serializer):
|
|||
if app_settings.EMAIL_VERIFICATION == app_settings.EmailVerificationMethod.MANDATORY:
|
||||
email_address = user.emailaddress_set.get(email=user.email)
|
||||
if not email_address.verified:
|
||||
raise serializers.ValidationError(_('E-mail is not verified.'))
|
||||
self.fail('email_not_verified')
|
||||
|
||||
attrs['user'] = user
|
||||
return attrs
|
||||
|
@ -230,6 +240,10 @@ class PasswordChangeSerializer(serializers.Serializer):
|
|||
|
||||
set_password_form_class = SetPasswordForm
|
||||
|
||||
default_error_messages = {
|
||||
'invalid_password': _('Invalid password.'),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.old_password_field_enabled = getattr(
|
||||
settings, 'OLD_PASSWORD_FIELD_ENABLED', False
|
||||
|
@ -253,7 +267,8 @@ class PasswordChangeSerializer(serializers.Serializer):
|
|||
)
|
||||
|
||||
if all(invalid_password_conditions):
|
||||
raise serializers.ValidationError('Invalid password')
|
||||
self.fail('invalid_password')
|
||||
|
||||
return value
|
||||
|
||||
def validate(self, attrs):
|
||||
|
|
Loading…
Reference in New Issue
Block a user