Support local accounts & recover password
[pithos] / pithos / settings.py.dist
index 6ea557e..df3c426 100644 (file)
@@ -39,13 +39,7 @@ PROJECT_PATH = os.path.dirname(os.path.abspath(__file__)) + '/'
 DEBUG = True
 TEMPLATE_DEBUG = DEBUG
 
-# A quick-n-dirty way to know if we're running unit tests
-import sys
 TEST = False
-if len(sys.argv) >= 2:
-    if os.path.basename(sys.argv[0]) == 'manage.py' and \
-        (sys.argv[1] == 'test' or sys.argv[1] == 'hudson'):
-            TEST = True
 
 ADMINS = (
     # ('Your Name', 'your_email@domain.com'),
@@ -55,7 +49,7 @@ MANAGERS = ADMINS
 
 DATABASES = {
     'default': {
-        'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
         'NAME': PROJECT_PATH + 'pithos.db',            # Or path to database file if using sqlite3.
         'USER': '',                      # Not used with sqlite3.
         'PASSWORD': '',                  # Not used with sqlite3.
@@ -65,10 +59,18 @@ DATABASES = {
 }
 
 # The backend to use and its initilization options.
-if TEST:
-    BACKEND = ('SimpleBackend', (os.path.join(PROJECT_PATH, 'data/testpithos.db'),))
-else:
-    BACKEND = ('SimpleBackend', (os.path.join(PROJECT_PATH, 'data/pithos.db'),))
+
+# Modular.
+backend_module = 'pithos.backends.lib.sqlite'
+backend_path = os.path.join(PROJECT_PATH, 'data/pithos/')
+backend_db = os.path.join(PROJECT_PATH, 'data/pithos/db')
+#backend_module = 'pithos.backends.lib.sqlalchemy'
+#backend_path = os.path.join(PROJECT_PATH, 'data/pithos/')
+#backend_db = 'postgresql://user:pass@host/db'
+BACKEND = ('ModularBackend', (backend_module, backend_path, backend_db))
+
+# Bypass authentication for user administration.
+BYPASS_ADMIN_AUTH = False
 
 # Local time zone for this installation. Choices can be found here:
 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
@@ -119,11 +121,12 @@ TEMPLATE_LOADERS = (
 
 MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
+#    'django.contrib.sessions.middleware.SessionMiddleware',
 #    'django.middleware.csrf.CsrfViewMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
-    'pithos.middleware.LoggingConfigMiddleware'
+#    'django.contrib.auth.middleware.AuthenticationMiddleware',
+#    'django.contrib.messages.middleware.MessageMiddleware',
+    'pithos.middleware.LoggingConfigMiddleware',
+    'pithos.middleware.AuthMiddleware'
 )
 
 ROOT_URLCONF = 'pithos.urls'
@@ -135,13 +138,71 @@ TEMPLATE_DIRS = (
 )
 
 INSTALLED_APPS = (
-    'django.contrib.auth',
-    'django.contrib.contenttypes',
-    'django.contrib.sessions',
-    'django.contrib.sites',
-    'django.contrib.messages',
+#    'django.contrib.auth',
+#    'django.contrib.contenttypes',
+#    'django.contrib.sessions',
+#    'django.contrib.sites',
+#    'django.contrib.messages',
 #    'django.contrib.admin',
 #    'django.contrib.admindocs',
-    'api',
-       'public'
+    'pithos.im',
+    'pithos.api',
+    'pithos.public',
+    'pithos.ui'
 )
+
+# Set the expiration time of newly created auth tokens
+# to be this many hours after their creation time.
+AUTH_TOKEN_DURATION = 30 * 24
+
+# Default setting for new accounts.
+DEFAULT_QUOTA = 50 * 1024 * 1024 * 1024
+DEFAULT_VERSIONING = 'auto'
+
+# Show these many users per page in admin interface.
+ADMIN_PAGE_LIMIT = 100
+
+# Authenticate via Twitter.
+TWITTER_KEY = ''
+TWITTER_SECRET = ''
+
+# Address to use for outgoing emails
+DEFAULT_FROM_EMAIL = 'Pithos <no-reply@grnet.gr>'
+FEEDBACK_FROM_EMAIL = DEFAULT_FROM_EMAIL
+FEEDBACK_CONTACT_EMAIL = 'support@pithos.grnet.gr'
+
+INVITATIONS_PER_LEVEL = {
+    0   :   100,
+    1   :   2,
+    2   :   0,
+    3   :   0,
+    4   :   0
+}
+
+BASE_URL = ''
+
+SERVICE_NAME = 'Pithos+'
+
+SUPPORT_EMAIL = ''
+
+# Where users should login with their invitation code
+INVITATION_LOGIN_TARGET = 'https://pithos.dev.grnet.gr/im/login/invitation' \
+                            '?code=%d' \
+                            '&next=https://pithos.dev.grnet.gr/ui'
+
+# Where users should activate their local account
+ACTIVATION_LOGIN_TARGET = BASEPATH + 'im/login/local/activate/' \
+                            '?auth=%s' \
+                            '&next=' + BASE_URL + 'im/login'
+
+# Where users should reset their local password
+PASSWORD_RESET_TARGET = BASE_URL + 'im/login/local/reset/' \
+                            '?auth=%s' \
+                            '&next=' + BASE_URL + 'im/login?next=' + BASE_URL + 'ui'
+
+
+# The server is behind a proy (apache and gunicorn setup).
+USE_X_FORWARDED_HOST = False
+
+# Use to log to a file.
+LOGFILE = None