mirror of
				https://github.com/Tivix/django-rest-auth.git
				synced 2025-10-31 07:47:33 +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