Tlačítko neodhlašovat
This commit is contained in:
parent
54f16f358f
commit
3663e04452
2 changed files with 29 additions and 0 deletions
16
various/autentizace/forms.py
Normal file
16
various/autentizace/forms.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
"""
|
||||||
|
Formuláře (:class:`django.forms.Form`) umožňují jednoduchou tvorbu formulářů,
|
||||||
|
které lze pak jednoduše dát do frontendu i zpracovat na backendu.
|
||||||
|
|
||||||
|
Pro přidání políčka do formuláře je potřeba
|
||||||
|
- mít v modelu tu položku, kterou chci upravovat
|
||||||
|
- přidat do views (prihlaskaView, resitelEditView)
|
||||||
|
- přidat do forms
|
||||||
|
- includovat do html
|
||||||
|
"""
|
||||||
|
|
||||||
|
from django.contrib.auth.forms import AuthenticationForm
|
||||||
|
from django.forms import BooleanField
|
||||||
|
|
||||||
|
class LoginForm(AuthenticationForm):
|
||||||
|
disable_logout = BooleanField(label="Neodhlašovat", required=False)
|
|
@ -1,10 +1,23 @@
|
||||||
|
from django.http import HttpResponseRedirect
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
from django.contrib.auth import views as auth_views
|
from django.contrib.auth import views as auth_views
|
||||||
|
|
||||||
|
from django.contrib.auth import login as auth_login
|
||||||
|
|
||||||
|
from various.autentizace.forms import LoginForm
|
||||||
|
|
||||||
|
|
||||||
class LoginView(auth_views.LoginView):
|
class LoginView(auth_views.LoginView):
|
||||||
# Jen vezmeme vestavěný a dáme mu vhodný template a přesměrovací URL
|
# Jen vezmeme vestavěný a dáme mu vhodný template a přesměrovací URL
|
||||||
template_name = 'autentizace/login.html'
|
template_name = 'autentizace/login.html'
|
||||||
|
authentication_form = LoginForm
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
""" Okopírováno z django/contrib/auth/views.py s přidáním nekonečného přihlášení """
|
||||||
|
auth_login(self.request, form.get_user())
|
||||||
|
if form.cleaned_data["disable_logout"]:
|
||||||
|
form.request.session.set_expiry(2**32) # infinity (asi 100 let)...
|
||||||
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
|
||||||
class LogoutView(auth_views.LogoutView):
|
class LogoutView(auth_views.LogoutView):
|
||||||
|
|
Loading…
Reference in a new issue