diff --git a/rest_auth/serializers.py b/rest_auth/serializers.py index b645231..a438d39 100644 --- a/rest_auth/serializers.py +++ b/rest_auth/serializers.py @@ -3,8 +3,8 @@ from django.conf import settings from django.contrib.auth.forms import PasswordResetForm, SetPasswordForm from django.contrib.auth.tokens import default_token_generator from django.utils.http import urlsafe_base64_decode as uid_decoder -from django.utils.translation import ugettext_lazy as _ -from django.utils.encoding import force_text +from django.utils.translation import gettext_lazy as _ +from django.utils.encoding import force_str from rest_framework import serializers, exceptions from rest_framework.exceptions import ValidationError @@ -205,7 +205,7 @@ class PasswordResetConfirmSerializer(serializers.Serializer): # Decode the uidb64 to uid to get User object try: - uid = force_text(uid_decoder(attrs['uid'])) + uid = force_str(uid_decoder(attrs['uid'])) self.user = UserModel._default_manager.get(pk=uid) except (TypeError, ValueError, OverflowError, UserModel.DoesNotExist): raise ValidationError({'uid': ['Invalid value']}) @@ -256,8 +256,7 @@ class PasswordChangeSerializer(serializers.Serializer): ) if all(invalid_password_conditions): - err_msg = _("Your old password was entered incorrectly. Please enter it again.") - raise serializers.ValidationError(err_msg) + raise serializers.ValidationError('Invalid password') return value def validate(self, attrs): diff --git a/rest_auth/urls.py b/rest_auth/urls.py index 7a35e9b..1945519 100644 --- a/rest_auth/urls.py +++ b/rest_auth/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import url +from django.urls import re_path from rest_auth.views import ( LoginView, LogoutView, UserDetailsView, PasswordChangeView, @@ -7,14 +7,14 @@ from rest_auth.views import ( urlpatterns = [ # URLs that do not require a session or valid token - url(r'^password/reset/$', PasswordResetView.as_view(), + re_path(r'^password/reset/$', PasswordResetView.as_view(), name='rest_password_reset'), - url(r'^password/reset/confirm/$', PasswordResetConfirmView.as_view(), + re_path(r'^password/reset/confirm/$', PasswordResetConfirmView.as_view(), name='rest_password_reset_confirm'), - url(r'^login/$', LoginView.as_view(), name='rest_login'), + re_path(r'^login/$', LoginView.as_view(), name='rest_login'), # URLs that require a user to be logged in with a valid session / token. - url(r'^logout/$', LogoutView.as_view(), name='rest_logout'), - url(r'^user/$', UserDetailsView.as_view(), name='rest_user_details'), - url(r'^password/change/$', PasswordChangeView.as_view(), + re_path(r'^logout/$', LogoutView.as_view(), name='rest_logout'), + re_path(r'^user/$', UserDetailsView.as_view(), name='rest_user_details'), + re_path(r'^password/change/$', PasswordChangeView.as_view(), name='rest_password_change'), ] diff --git a/rest_auth/views.py b/rest_auth/views.py index 0a0a982..d436fdd 100644 --- a/rest_auth/views.py +++ b/rest_auth/views.py @@ -6,7 +6,7 @@ from django.conf import settings from django.contrib.auth import get_user_model from django.core.exceptions import ObjectDoesNotExist from django.utils.decorators import method_decorator -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.views.decorators.debug import sensitive_post_parameters from rest_framework import status