[SCM] live-studio branch, master, updated. be51da814fb12d25dce46a7f078a46f5c89bd777

Chris Lamb lamby at debian.org
Fri Jul 30 02:52:32 UTC 2010


The following commit has been merged in the master branch:
commit 082ec567298630e169f3cf4e558f49c5debefbe1
Author: Chris Lamb <lamby at debian.org>
Date:   Wed Jul 28 15:59:02 2010 -0400

    Split apps and middleware out of misc.py
    
    Signed-off-by: Chris Lamb <lamby at debian.org>

diff --git a/config/settings/defaults/__init__.py b/config/settings/defaults/__init__.py
index a9fbc7a..870922c 100644
--- a/config/settings/defaults/__init__.py
+++ b/config/settings/defaults/__init__.py
@@ -1 +1,3 @@
+from apps import *
 from misc import *
+from middleware import *
diff --git a/config/settings/defaults/apps.py b/config/settings/defaults/apps.py
new file mode 100644
index 0000000..7598f68
--- /dev/null
+++ b/config/settings/defaults/apps.py
@@ -0,0 +1,16 @@
+INSTALLED_APPS = [
+    'django.contrib.auth',
+    'django.contrib.contenttypes',
+    'django.contrib.sessions',
+    'django.contrib.sites',
+    'django.contrib.admin',
+
+    'live_studio_www.auth',
+]
+
+try:
+    import django_extensions
+
+    INSTALLED_APPS.append('django_extensions')
+except ImportError:
+    pass
diff --git a/config/settings/defaults/middleware.py b/config/settings/defaults/middleware.py
new file mode 100644
index 0000000..f3b5afa
--- /dev/null
+++ b/config/settings/defaults/middleware.py
@@ -0,0 +1,5 @@
+MIDDLEWARE_CLASSES = (
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+)
diff --git a/config/settings/defaults/misc.py b/config/settings/defaults/misc.py
index 922ac0a..dd0fcdf 100644
--- a/config/settings/defaults/misc.py
+++ b/config/settings/defaults/misc.py
@@ -60,12 +60,6 @@ TEMPLATE_LOADERS = (
     'django.template.loaders.app_directories.load_template_source',
 )
 
-MIDDLEWARE_CLASSES = (
-    'django.middleware.common.CommonMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-)
-
 ROOT_URLCONF = 'live_studio_www.urls'
 
 TEMPLATE_DIRS = (
@@ -73,20 +67,3 @@ TEMPLATE_DIRS = (
     # Always use forward slashes, even on Windows.
     # Don't forget to use absolute paths, not relative paths.
 )
-
-INSTALLED_APPS = [
-    'django.contrib.auth',
-    'django.contrib.contenttypes',
-    'django.contrib.sessions',
-    'django.contrib.sites',
-    'django.contrib.admin',
-
-    'live_studio_www.auth',
-]
-
-try:
-    import django_extensions
-
-    INSTALLED_APPS.append('django_extensions')
-except ImportError:
-    pass
diff --git a/live_studio_www/auth/middleware.py b/live_studio_www/auth/middleware.py
new file mode 100644
index 0000000..c4fb183
--- /dev/null
+++ b/live_studio_www/auth/middleware.py
@@ -0,0 +1,22 @@
+from django.conf import settings
+from django.http import HttpResponseRedirect
+
+class RequireLoginMiddleware(object):
+    ALLOW = (
+        '/admin/',
+        '/media/',
+        '/__debug__/',
+    )
+
+    def process_view(self, request, fn, *args, **kwargs):
+        if request.user.is_authenticated():
+            return
+
+        if hasattr(fn, 'login_not_required'):
+            return
+
+        for prefix in self.ALLOW:
+            if request.path.startswith(prefix):
+                return
+
+        return HttpResponseRedirect(settings.LOGIN_URL)

-- 
live-studio



More information about the debian-live-changes mailing list