From d5fceddbe113f89b81ce3b92b140c996cc6f83b0 Mon Sep 17 00:00:00 2001 From: OMAR AIT BENHADDI <88466716+Omaraitbenhaddi@users.noreply.github.com> Date: Sat, 13 Aug 2022 06:21:27 +0200 Subject: [PATCH 1/3] UPDATE DJANGO 4 url -> re_path --- rest_auth/urls.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rest_auth/urls.py b/rest_auth/urls.py index 7a35e9b5..19455193 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 @@ 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'), ] From c447f0ddf67321a646629c7d0eae79fbd364c9d9 Mon Sep 17 00:00:00 2001 From: OMAR AIT BENHADDI <88466716+Omaraitbenhaddi@users.noreply.github.com> Date: Sat, 13 Aug 2022 06:32:25 +0200 Subject: [PATCH 2/3] Update serializers.py in django 4.0 we dont have force_text and ugettext_lazy has been removed in Django 4.0 --- rest_auth/serializers.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rest_auth/serializers.py b/rest_auth/serializers.py index b6452317..a438d392 100644 --- a/rest_auth/serializers.py +++ b/rest_auth/serializers.py @@ -3,8 +3,8 @@ 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 @@ def validate(self, attrs): # 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 @@ def validate_old_password(self, value): ) 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): From 9147c72190f9d0e0bab22b268a84a4427f3d14fd Mon Sep 17 00:00:00 2001 From: OMAR AIT BENHADDI <88466716+Omaraitbenhaddi@users.noreply.github.com> Date: Sat, 13 Aug 2022 06:33:33 +0200 Subject: [PATCH 3/3] ugettext_lazy has been removed in Django 4.0 --- rest_auth/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_auth/views.py b/rest_auth/views.py index 0a0a982e..d436fdde 100644 --- a/rest_auth/views.py +++ b/rest_auth/views.py @@ -6,7 +6,7 @@ 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