36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""
|
|
Вход, выход и главная страница.
|
|
"""
|
|
import logging
|
|
from django.contrib.auth.views import LoginView, LogoutView
|
|
from django.views.generic import TemplateView
|
|
from config.mixins import LoginRequiredMixin
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class HomeView(LoginRequiredMixin, TemplateView):
|
|
"""Главная страница после входа: меню справочников и документов."""
|
|
template_name = "home.html"
|
|
login_url = "users:login"
|
|
|
|
|
|
class ErpLoginView(LoginView):
|
|
"""Страница входа."""
|
|
template_name = "registration/login.html"
|
|
redirect_authenticated_user = True
|
|
|
|
def form_valid(self, form):
|
|
logger.info("Вход пользователя: %s", form.get_user().username)
|
|
return super().form_valid(form)
|
|
|
|
|
|
class ErpLogoutView(LogoutView):
|
|
"""Выход."""
|
|
next_page = "users:login"
|
|
|
|
def dispatch(self, request, *args, **kwargs):
|
|
if request.user.is_authenticated:
|
|
logger.info("Выход пользователя: %s", request.user.username)
|
|
return super().dispatch(request, *args, **kwargs)
|