Splitup views.py into several files.

This commit is contained in:
2018-01-20 17:06:22 +01:00
parent 03df86b3c4
commit 0cacb02d74
5 changed files with 53 additions and 41 deletions

View File

@@ -3,13 +3,13 @@ from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.HomeView.as_view(), name='home'),
url(r'^imprint$', views.ImprintView.as_view(), name='imprint'),
url(r'^user/login$', views.LoginView.as_view(), name='login'),
url(r'^user/logout$', views.LogoutView.as_view(), name='logout'),
url(r'^user/password$', views.SetPasswordView.as_view(), name='set_password'),
url(r'^events$', views.EventListView.as_view(), name='event_list'),
url(r'^events/create$', views.EventCreateView.as_view(), name='event_create'),
url(r'^events/(?P<pk>\d+)/accept', views.EventAcceptView.as_view(), name='event_accept'),
url(r'^events/(?P<pk>\d+)/', views.EventDetailView.as_view(), name='event_detail'),
url(r'^$', views.base.HomeView.as_view(), name='home'),
url(r'^imprint$', views.base.ImprintView.as_view(), name='imprint'),
url(r'^user/login$', views.auth.LoginView.as_view(), name='login'),
url(r'^user/logout$', views.auth.LogoutView.as_view(), name='logout'),
url(r'^user/password$', views.auth.SetPasswordView.as_view(), name='set_password'),
url(r'^events$', views.events.EventListView.as_view(), name='event_list'),
url(r'^events/create$', views.events.EventCreateView.as_view(), name='event_create'),
url(r'^events/(?P<pk>\d+)/accept', views.events.EventAcceptView.as_view(), name='event_accept'),
url(r'^events/(?P<pk>\d+)/', views.events.EventDetailView.as_view(), name='event_detail'),
]

View File

@@ -0,0 +1,3 @@
from . import base
from . import auth
from . import events

28
dav_events/views/auth.py Normal file
View File

@@ -0,0 +1,28 @@
import logging
from django.contrib.auth import views as auth_views
from django.urls import reverse_lazy
from .. import forms
logger = logging.getLogger(__name__)
class LoginView(auth_views.LoginView):
form_class = forms.auth.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.auth.SetPasswordForm
template_name = 'dav_events/auth/set_password_form.html'
success_url = reverse_lazy('dav_events:event_list')

9
dav_events/views/base.py Normal file
View File

@@ -0,0 +1,9 @@
from django.views import generic
class HomeView(generic.TemplateView):
template_name = 'dav_events/home.html'
class ImprintView(generic.TemplateView):
template_name = 'dav_events/imprint.html'

View File

@@ -1,7 +1,7 @@
import logging
import os
from django.contrib.auth import login, views as auth_views
from django.contrib.auth import login
from django.contrib.auth.decorators import login_required
from django.core.exceptions import PermissionDenied, SuspiciousOperation
from django.db.models import Q
@@ -10,41 +10,13 @@ from django.urls import reverse, reverse_lazy
from django.utils.decorators import method_decorator
from django.views import generic
from . import config
from . import forms
from . import models
from .. import config
from .. import forms
from .. import models
logger = logging.getLogger(__name__)
class HomeView(generic.TemplateView):
template_name = 'dav_events/home.html'
class ImprintView(generic.TemplateView):
template_name = 'dav_events/imprint.html'
class LoginView(auth_views.LoginView):
form_class = forms.auth.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.auth.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