Support local accounts & recover password
[pithos] / pithos / settings.py.dist
index 9c6d3be..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/test/'),))
-else:
-    BACKEND = ('SimpleBackend', (os.path.join(PROJECT_PATH, 'data/pithos/'),))
+
+# 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
@@ -143,15 +145,64 @@ INSTALLED_APPS = (
 #    'django.contrib.messages',
 #    'django.contrib.admin',
 #    'django.contrib.admindocs',
-    'pithos.aai',
+    'pithos.im',
     'pithos.api',
-    'pithos.public'
+    '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 quota for new users.
-DEFAULT_QUOTA = 10 * 1024 * 1024 * 1024
+# 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