Merge branch 'dev' into 'master'

confirm without auth

See merge request lilcity/backend!46
remotes/origin/hasaccess
cfwme 8 years ago
commit 9bde026181
  1. 2
      apps/auth/tests/test_verification_email.py
  2. 2
      apps/auth/urls.py
  3. 11
      apps/auth/views.py
  4. 2
      apps/user/views.py

@ -12,7 +12,7 @@ class VerificationEmailTest(TestCase):
self.user_1 = LilcityUserProxy.objects.create_user(username='user_1@example.com', password='1234')
self.token_user_1 = verification_email_token.make_token(self.user_1)
self.url = reverse('lilcity:verification-email', kwargs={"token": self.token_user_1})
self.url = reverse('lilcity:verification-email', kwargs={"token": self.token_user_1, "uid": self.user_1.id})
def test_should_verification_email_for_login_user(self):
self.client.login(username=self.user_1.username, password='1234')

@ -6,7 +6,7 @@ urlpatterns = [
path('registration/learner/', views.LearnerRegistrationView.as_view(), name="registration-learner"),
path('logout/', views.LogoutView.as_view(), name="logout"),
path('login/', views.LoginView.as_view(), name="login"),
path('verification-email/<slug:token>/', views.VerificationEmailView.as_view(), name="verification-email"),
path('verification-email/<slug:token>/<slug:uid>/', views.VerificationEmailView.as_view(), name="verification-email"),
path('success-verification-email/', views.SuccessVerificationEmailView.as_view(), name="success-verification-email"),
path('facebook_login/', views.FacebookLoginOrRegistration.as_view(), name="facebook_login"),

@ -57,7 +57,7 @@ class LearnerRegistrationView(FormView):
refferer = urlsplit(self.request.META.get('HTTP_REFERER'))
refferer = str(refferer[0]) + '://' + str(refferer[1])
token = verification_email_token.make_token(user)
url = refferer + str(reverse_lazy('lilcity:verification-email', args=[token]))
url = refferer + str(reverse_lazy('lilcity:verification-email', args=[token, user.id]))
send_email('Вы успешно прошли регистрацию', email, "notification/email/verification_email.html", url=url, config=config)
return JsonResponse({"success": True}, status=201)
@ -86,13 +86,14 @@ class LoginView(FormView):
class VerificationEmailView(View):
def get(self, request, *args, **kwargs):
user = User.objects.get(pk=kwargs.get('uid'))
is_valid_token = verification_email_token.check_token(
request.user, kwargs.get('token'))
user, kwargs.get('token'))
if is_valid_token:
request.user.is_email_proved = True
request.user.save()
login(request, request.user)
user.is_email_proved = True
user.save()
login(request, user)
return redirect(reverse_lazy('lilcity:success-verification-email'))
else:
return JsonResponse({"success": False}, status=400)

@ -37,7 +37,7 @@ User = get_user_model()
@login_required
def resend_email_verify(request):
token = verification_email_token.make_token(request.user)
url = request.scheme + '://' + request.get_host() + str(reverse_lazy('lilcity:verification-email', args=[token]))
url = request.scheme + '://' + request.get_host() + str(reverse_lazy('lilcity:verification-email', args=[token, request.user.id]))
send_email('Вы успешно прошли регистрацию', request.user.email, "notification/email/verification_email.html", url=url)
messages.info(request, 'Письмо подтверждения отправлено.')
return redirect('user-edit-profile', request.user.id)

Loading…
Cancel
Save