Удалена регистрация пользователей внутри тенантов - теперь только вход и управление ролями владельцем
This commit is contained in:
@@ -11,72 +11,11 @@ from django.contrib.auth.tokens import default_token_generator
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth import update_session_auth_hash
|
||||
from django.contrib.auth.forms import PasswordChangeForm
|
||||
from .forms import CustomUserCreationForm, PasswordResetForm
|
||||
from .forms import PasswordResetForm
|
||||
from .models import CustomUser
|
||||
import uuid
|
||||
|
||||
|
||||
def register(request):
|
||||
if request.method == 'POST':
|
||||
form = CustomUserCreationForm(request.POST)
|
||||
if form.is_valid():
|
||||
user = form.save(commit=False)
|
||||
user.is_active = False # Пользователь не активен до подтверждения email
|
||||
user.save()
|
||||
|
||||
# Отправляем письмо с подтверждением
|
||||
confirmation_url = request.build_absolute_uri(
|
||||
reverse('accounts:confirm_email', kwargs={'token': user.email_confirmation_token})
|
||||
)
|
||||
|
||||
subject = 'Подтверждение Email'
|
||||
message = f'Привет {user.name}!\n\nДля подтверждения вашего email перейдите по следующей ссылке: {confirmation_url}\n\nСпасибо за регистрацию!'
|
||||
from_email = settings.DEFAULT_FROM_EMAIL
|
||||
recipient_list = [user.email]
|
||||
|
||||
# Выводим письмо в консоль, как вы просили
|
||||
print(f"Письмо для подтверждения:\nТема: {subject}\nСообщение:\n{message}\nПолучатель: {recipient_list}")
|
||||
|
||||
# В реальной системе отправили бы письмо:
|
||||
# send_mail(subject, message, from_email, recipient_list, fail_silently=False)
|
||||
|
||||
messages.success(request, 'Пожалуйста, проверьте вашу почту для подтверждения email.')
|
||||
return redirect('accounts:login')
|
||||
else:
|
||||
form = CustomUserCreationForm()
|
||||
|
||||
return render(request, 'register.html', {'form': form})
|
||||
|
||||
|
||||
def register_view(request):
|
||||
if request.method == 'POST':
|
||||
form = CustomUserCreationForm(request.POST)
|
||||
if form.is_valid():
|
||||
user = form.save(commit=False)
|
||||
user.is_active = False # Пользователь не активен до подтверждения email
|
||||
user.save()
|
||||
|
||||
# Отправляем письмо с подтверждением (выводим в консоль)
|
||||
confirmation_url = request.build_absolute_uri(
|
||||
f'/accounts/confirm/{user.email_confirmation_token}/'
|
||||
)
|
||||
|
||||
subject = 'Подтверждение Email'
|
||||
message = f'Привет {user.name}!\n\nДля подтверждения вашего email перейдите по следующей ссылке: {confirmation_url}\n\nСпасибо за регистрацию!'
|
||||
from_email = 'noreply@example.com' # Используем значение из настроек
|
||||
recipient_list = [user.email]
|
||||
|
||||
# Выводим письмо в консоль, как вы просили
|
||||
print(f"Письмо для подтверждения:\nТема: {subject}\nСообщение:\n{message}\nПолучатель: {recipient_list}")
|
||||
|
||||
messages.success(request, 'Пожалуйста, проверьте вашу почту для подтверждения email.')
|
||||
return redirect('accounts:login') # Перенаправляем на страницу входа после регистрации
|
||||
else:
|
||||
form = CustomUserCreationForm()
|
||||
|
||||
return render(request, 'register.html', {'form': form})
|
||||
|
||||
|
||||
def login_view(request):
|
||||
if request.method == 'POST':
|
||||
email = request.POST.get('email')
|
||||
|
||||
Reference in New Issue
Block a user