Review fixes

This commit is contained in:
Kuroshini 2019-10-01 21:32:24 +03:00
parent 9793c0a49f
commit df6b221029
2 changed files with 12 additions and 7 deletions

View File

@ -77,7 +77,6 @@ class SignupSerializer(serializers.ModelSerializer):
class ReconfirmSerializer(serializers.ModelSerializer): class ReconfirmSerializer(serializers.ModelSerializer):
email = serializers.EmailField(write_only=True)
class Meta: class Meta:
model = account_models.User model = account_models.User
@ -85,22 +84,28 @@ class ReconfirmSerializer(serializers.ModelSerializer):
def validate_email(self, value): def validate_email(self, value):
"""Validate email""" """Validate email"""
if not account_models.User.objects.filter(email=value).filter(email_confirmed=False).exists(): users = list(account_models.User.objects.filter(email=value.lower()).all())
raise serializers.ValidationError() if not users:
raise serializers.ValidationError(detail='User with mentioned email does not exist.')
users = list(filter(lambda user: not user.email_confirmed, users))
if not users:
raise serializers.ValidationError(detail='User with this email is confirmed.')
return value return value
def create(self, validated_data): def create(self, validated_data):
"""Override create method""" """Override create method"""
queryset = account_models.User.objects.all() queryset = account_models.User.objects.all()
obj = get_object_or_404(queryset, email=validated_data.get('email').lower()) email = validated_data.get('email').lower()
country_code = self.context.get('request').country_code
obj = get_object_or_404(queryset, email=email)
if settings.USE_CELERY: if settings.USE_CELERY:
tasks.send_confirm_email.delay( tasks.send_confirm_email.delay(
user_id=obj.id, user_id=obj.id,
country_code=self.context.get('request').country_code) country_code=country_code)
else: else:
tasks.send_confirm_email( tasks.send_confirm_email(
user_id=obj.id, user_id=obj.id,
country_code=self.context.get('request').country_code) country_code=country_code)
return obj return obj

View File

@ -29,7 +29,7 @@ urlpatterns_oauth2 = [
urlpatterns_jwt = [ urlpatterns_jwt = [
path('signup/', views.SignUpView.as_view(), name='signup'), path('signup/', views.SignUpView.as_view(), name='signup'),
path('signup/reconfirm', views.ReconfirmView.as_view(), name='signup-reconfirm'), path('signup/reconfirm/', views.ReconfirmView.as_view(), name='signup-reconfirm'),
path('signup/confirm/<uidb64>/<token>/', views.ConfirmationEmailView.as_view(), path('signup/confirm/<uidb64>/<token>/', views.ConfirmationEmailView.as_view(),
name='signup-confirm'), name='signup-confirm'),
path('login/', views.LoginByUsernameOrEmailView.as_view(), name='login'), path('login/', views.LoginByUsernameOrEmailView.as_view(), name='login'),