From 0cacb02d742d3d82446e8cd8162eafebc37de43d Mon Sep 17 00:00:00 2001 From: heinzel Date: Sat, 20 Jan 2018 17:06:22 +0100 Subject: [PATCH] Splitup views.py into several files. --- dav_events/urls.py | 18 ++++++------ dav_events/views/__init__.py | 3 ++ dav_events/views/auth.py | 28 ++++++++++++++++++ dav_events/views/base.py | 9 ++++++ dav_events/{views.py => views/events.py} | 36 +++--------------------- 5 files changed, 53 insertions(+), 41 deletions(-) create mode 100644 dav_events/views/__init__.py create mode 100644 dav_events/views/auth.py create mode 100644 dav_events/views/base.py rename dav_events/{views.py => views/events.py} (88%) diff --git a/dav_events/urls.py b/dav_events/urls.py index f56ce9c..ac12b61 100644 --- a/dav_events/urls.py +++ b/dav_events/urls.py @@ -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\d+)/accept', views.EventAcceptView.as_view(), name='event_accept'), - url(r'^events/(?P\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\d+)/accept', views.events.EventAcceptView.as_view(), name='event_accept'), + url(r'^events/(?P\d+)/', views.events.EventDetailView.as_view(), name='event_detail'), ] diff --git a/dav_events/views/__init__.py b/dav_events/views/__init__.py new file mode 100644 index 0000000..0a9886f --- /dev/null +++ b/dav_events/views/__init__.py @@ -0,0 +1,3 @@ +from . import base +from . import auth +from . import events diff --git a/dav_events/views/auth.py b/dav_events/views/auth.py new file mode 100644 index 0000000..f619f9d --- /dev/null +++ b/dav_events/views/auth.py @@ -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') diff --git a/dav_events/views/base.py b/dav_events/views/base.py new file mode 100644 index 0000000..0663564 --- /dev/null +++ b/dav_events/views/base.py @@ -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' diff --git a/dav_events/views.py b/dav_events/views/events.py similarity index 88% rename from dav_events/views.py rename to dav_events/views/events.py index e6871c4..149e500 100644 --- a/dav_events/views.py +++ b/dav_events/views/events.py @@ -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