Удалена регистрация пользователей внутри тенантов - теперь только вход и управление ролями владельцем

This commit is contained in:
2025-12-01 23:51:07 +03:00
parent f2c1f7e02d
commit ca95eab5c1
6 changed files with 4 additions and 164 deletions

View File

@@ -1,9 +0,0 @@
{% extends 'base.html' %}
{% block title %}Регистрация{% endblock %}
{% block content %}
<h2>Регистрация</h2>
<p>Форма регистрации доступна на главной странице.</p>
<a href="{% url 'index' %}">Перейти на главную</a>
{% endblock %}

View File

@@ -4,7 +4,6 @@ from . import views
app_name = 'accounts'
urlpatterns = [
path('register/', views.register_view, name='register'),
path('login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'),
path('profile/', views.profile_view, name='profile'),

View File

@@ -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')