auth stuff.
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
import logging
|
||||
import os
|
||||
|
||||
from django.contrib.auth import login
|
||||
from django.contrib.auth import login, views as auth_views
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.core.exceptions import SuspiciousOperation
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.urls import reverse, reverse_lazy
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.views import generic
|
||||
|
||||
from . import forms
|
||||
@@ -21,6 +23,26 @@ class ImprintView(generic.TemplateView):
|
||||
template_name = 'dav_events/imprint.html'
|
||||
|
||||
|
||||
class LoginView(auth_views.LoginView):
|
||||
form_class = forms.LoginForm
|
||||
next_page = reverse_lazy('dav_events:event_list')
|
||||
template_name = 'dav_events/auth/login_form.html'
|
||||
|
||||
def get_success_url(self):
|
||||
url = self.get_redirect_url()
|
||||
return url or self.next_page
|
||||
|
||||
|
||||
class LogoutView(auth_views.LogoutView):
|
||||
next_page = reverse_lazy('dav_events:home')
|
||||
|
||||
|
||||
class SetPasswordView(auth_views.PasswordChangeView):
|
||||
form_class = forms.SetPasswordForm
|
||||
template_name = 'dav_events/auth/set_password_form.html'
|
||||
success_url = reverse_lazy('dav_events:event_list')
|
||||
|
||||
|
||||
class EventListView(generic.ListView):
|
||||
model = models.Event
|
||||
queryset = models.Event.objects.all()
|
||||
@@ -90,15 +112,13 @@ class EventCreateView(generic.FormView):
|
||||
event.save()
|
||||
owner = event.owner
|
||||
self.clean_session_data()
|
||||
if self.request.user.is_authenticated():
|
||||
if self.request.user.is_authenticated:
|
||||
next_url = reverse('dav_events:event_list')
|
||||
elif owner.has_usable_password():
|
||||
next_url = reverse('dav_events:event_list')
|
||||
else:
|
||||
# owner has no usable password, so he must be new.
|
||||
# let him set his password.
|
||||
login(self.request, owner)
|
||||
next_url = reverse('dav_events:home')
|
||||
next_url = reverse('dav_events:set_password', kwargs={'pk': owner.pk})
|
||||
return HttpResponseRedirect(next_url)
|
||||
|
||||
def clean_session_data(self, session=None):
|
||||
|
||||
Reference in New Issue
Block a user