58 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.conf import settings
 | |
| from django.http import HttpResponseRedirect
 | |
| from django.urls import reverse_lazy
 | |
| 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):
 | |
| 	# Jen vezmeme vestavěný a dáme mu vhodný template a přesměrovací URL
 | |
| 	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(settings.DOBA_ODHLASENI_PRI_ZASKRTNUTI_NEODHLASOVAT)
 | |
| 		return HttpResponseRedirect(self.get_success_url())
 | |
| 
 | |
| 
 | |
| class LogoutView(auth_views.LogoutView):
 | |
| 	# Jen vezmeme vestavěný a dáme mu vhodný template a přesměrovací URL
 | |
| 	template_name = 'autentizace/logout.html'
 | |
| 	# Pavel: Vůbec nevím, proč to s _lazy funguje, ale bez toho to bylo rozbité.
 | |
| 	next_page = reverse_lazy('titulni_strana')
 | |
| 
 | |
| 
 | |
| # Nejsem si jistý, který view co dostává, tak zahazuji všechny POSTy
 | |
| class PasswordResetView(auth_views.PasswordResetView):
 | |
| 	""" Chci resetovat heslo. """
 | |
| 	template_name = 'autentizace/reset_hesla.html'
 | |
| 	success_url = reverse_lazy('reset_password_done')
 | |
| 	from_email = 'login@mam.mff.cuni.cz'
 | |
| 	email_template_name = 'autentizace/password_reset_email.html'
 | |
| 	subject_template_name = 'autentizace/password_reset_subject.txt'
 | |
| 
 | |
| 
 | |
| class PasswordResetDoneView(auth_views.PasswordResetDoneView):
 | |
| 	""" Poslali jsme e-mail (pokud bylo kam)). """
 | |
| 	template_name = 'autentizace/reset_poslan.html'
 | |
| 
 | |
| 
 | |
| class PasswordResetConfirmView(auth_views.PasswordResetConfirmView):
 | |
| 	""" Vymysli si heslo. """
 | |
| 	template_name = 'autentizace/nove_heslo.html'
 | |
| 	success_url = reverse_lazy('reset_password_complete')
 | |
| 
 | |
| 
 | |
| class PasswordResetCompleteView(auth_views.PasswordResetCompleteView):
 | |
| 	""" Heslo se asi změnilo."""
 | |
| 	template_name = 'autentizace/nove_nastaveno.html'
 | |
| 
 | |
| 
 | |
| class PasswordChangeView(auth_views.PasswordChangeView):
 | |
| 	success_url = reverse_lazy('titulni_strana')
 |