diff --git a/apps/auth/views.py b/apps/auth/views.py index f670d883..1f4cf8ec 100644 --- a/apps/auth/views.py +++ b/apps/auth/views.py @@ -251,11 +251,14 @@ class LandingRegistrationView(View): form = LandingRegistrationForm(request.POST) if not form.is_valid(): return HttpResponse(form.errors.as_text()) + phone = form.cleaned_data['phone'] name = form.cleaned_data['name'].split() email = form.cleaned_data['email'].lower() if User.objects.filter(email=email).count(): + if request.user.is_authenticated and request.user.email == email: + return redirect('/') return redirect('/p/user-exists') user = User( diff --git a/apps/user/admin.py b/apps/user/admin.py index 50915f33..f47bb7ef 100644 --- a/apps/user/admin.py +++ b/apps/user/admin.py @@ -8,11 +8,36 @@ from .models import AuthorRequest, EmailSubscription, SubscriptionCategory, Emai User = get_user_model() +class FromLandingFilter(admin.SimpleListFilter): + title = 'С лендинга' + parameter_name = 'from_landing' + + def lookups(self, request, model_admin): + return ( + ('yes', 'Да'), + ) + + def queryset(self, request, queryset): + if self.value() == 'yes': + return queryset.exclude(phone2__isnull=True) + + @admin.register(User) class UserAdmin(BaseUserAdmin): + list_display = ( + 'email', + 'get_full_name', + 'phone', + 'phone2', + 'role', + 'is_staff', + 'is_active', + ) + list_filter = (FromLandingFilter, 'is_staff', 'is_superuser', 'is_active',) fieldsets = ( (None, {'fields': ('username', 'password')}), - (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'gender', 'about', 'photo',)}), + (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'gender', 'about', 'photo', + 'phone', 'phone2')}), ('Teacher', {'fields': ('show_in_mainpage', 'trial_lesson', 'instagram_hashtag',)}), ('Facebook Auth data', {'fields': ('fb_id', 'fb_data', 'is_email_proved')}), (_('Permissions'), {'fields': ('role', 'is_active', 'is_staff', 'is_superuser',