From b0e1546469de1960da780bb916a1bd858fc6197b Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 10 Feb 2015 22:39:35 +0100 Subject: [PATCH] Django app architecture for pretixpresale --- doc/development/style.rst | 2 ++ src/pretix/settings.py | 1 + src/pretix/urls.py | 2 ++ src/pretixpresale/urls.py | 14 ++++++++++++++ src/pretixpresale/views.py | 3 --- src/pretixpresale/views/__init__.py | 0 src/pretixpresale/views/event.py | 10 ++++++++++ 7 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 src/pretixpresale/urls.py delete mode 100644 src/pretixpresale/views.py create mode 100644 src/pretixpresale/views/__init__.py create mode 100644 src/pretixpresale/views/event.py diff --git a/doc/development/style.rst b/doc/development/style.rst index 2f915ab52..41a88ece3 100644 --- a/doc/development/style.rst +++ b/doc/development/style.rst @@ -28,6 +28,8 @@ Python code * For templates and models, follow the `Django Coding Style`_. +* Use Django's class-based views + * Always mark all strings ever displayed to any user for translation. LESS stylesheets diff --git a/src/pretix/settings.py b/src/pretix/settings.py index dc14ee359..7198e1e3b 100644 --- a/src/pretix/settings.py +++ b/src/pretix/settings.py @@ -59,6 +59,7 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'pretixcontrol.middleware.PermissionMiddleware', + 'pretixpresale.middleware.EventMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS = ( diff --git a/src/pretix/urls.py b/src/pretix/urls.py index 675db457f..dbc2b00dd 100644 --- a/src/pretix/urls.py +++ b/src/pretix/urls.py @@ -3,11 +3,13 @@ from django.contrib import admin from django.conf import settings import pretixcontrol.urls +import pretixpresale.urls urlpatterns = patterns('', url(r'^control/', include(pretixcontrol.urls, namespace='control')), url(r'^admin/', include(admin.site.urls)), + url(r'', include(pretixpresale.urls, namespace='presale')), ) if settings.DEBUG: diff --git a/src/pretixpresale/urls.py b/src/pretixpresale/urls.py new file mode 100644 index 000000000..2fd44499c --- /dev/null +++ b/src/pretixpresale/urls.py @@ -0,0 +1,14 @@ +from django.conf.urls import patterns, url, include + +import pretixpresale.views.event + +urlpatterns = patterns('',) +urlpatterns += patterns( + 'pretixpresale.views.event', + url(r'^(?P[^/]+)/(?P[^/]+)/', include( + patterns( + 'pretixpresale.views', + url(r'^$', pretixpresale.views.event.EventIndex.as_view(), name='event.index'), + ) + )) +) diff --git a/src/pretixpresale/views.py b/src/pretixpresale/views.py deleted file mode 100644 index 91ea44a21..000000000 --- a/src/pretixpresale/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/src/pretixpresale/views/__init__.py b/src/pretixpresale/views/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/pretixpresale/views/event.py b/src/pretixpresale/views/event.py new file mode 100644 index 000000000..ae16cb501 --- /dev/null +++ b/src/pretixpresale/views/event.py @@ -0,0 +1,10 @@ +from django.views.generic import TemplateView + + +class EventIndex(TemplateView): + template_name = "pretixpresale/event/index.html" + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['event'] = self.request.event + return context