add login

This commit is contained in:
Cayo Puigdefabregas 2023-10-09 10:49:56 +02:00
parent 73303bdd8f
commit d0926a8f86
2 changed files with 11 additions and 26 deletions

View File

@ -115,6 +115,8 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
<input name="next" type="hidden" value="{{ success_url }}">
<div class="form-actions-no-box"> <div class="form-actions-no-box">
<input type="submit" name="submit" value="{% trans 'Log in' %}" <input type="submit" name="submit" value="{% trans 'Log in' %}"
class="btn btn-primary form-control" id="submit-id-submit"> class="btn btn-primary form-control" id="submit-id-submit">

View File

@ -15,6 +15,7 @@ from django.views.generic.base import RedirectView, TemplateView
from django.views.generic.detail import DetailView from django.views.generic.detail import DetailView
from django.views.generic.edit import DeleteView, FormView from django.views.generic.edit import DeleteView, FormView
from django.views.generic.list import ListView from django.views.generic.list import ListView
from django.contrib.auth import views as auth_views
from django.contrib.auth.models import User from django.contrib.auth.models import User
from .forms import LoginForm from .forms import LoginForm
@ -24,11 +25,10 @@ logger = logging.getLogger(__name__)
# class UserDashboardView(LoginRequiredMixin, TemplateView): class UserDashboardView(LoginRequiredMixin, TemplateView):
class UserDashboardView(TemplateView):
template_name = "idhub/user_dashboard.html" template_name = "idhub/user_dashboard.html"
title = _('Dashboard') title = _('Dashboard')
#login_url = "/login/" login_url = "/login/"
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
@ -42,31 +42,14 @@ class AdminDashboardView(UserDashboardView):
template_name = "idhub/admin_dashboard.html" template_name = "idhub/admin_dashboard.html"
class LoginView(FormView): class LoginView(auth_views.LoginView):
template_name = 'auth/login.html' template_name = 'auth/login.html'
form_class = LoginForm
success_url = reverse_lazy('idhub:user_dashboard')
extra_context = { extra_context = {
'title': _('Login'), 'title': _('Login'),
'success_url': reverse_lazy('idhub:user_dashboard'),
} }
def form_valid(self, form): def get(self, request):
return super().form_valid(form) if request.GET.get('next'):
self.extra_context['success_url'] = request.GET.get('next')
return super().get(request)
class LogoutView(RedirectView):
"""
Log out the user.
"""
permanent = False
pattern_name = 'login'
def get_redirect_url(self, *args, **kwargs):
"""
Logs out the user.
"""
return super().get_redirect_url(*args, **kwargs)
def post(self, request, *args, **kwargs):
"""Logout may be done via POST."""
return self.get(request, *args, **kwargs)