from datetime import timedelta
+import sys
from os.path import abspath, basename, dirname, join, normpath
from sys import path
from karmaworld.secret.filepicker import FILEPICKER_API_KEY as fp_api
FILEPICKER_API_KEY = fp_api
+FILEPICKER_INPUT_TYPE = 'filepicker'
+from karmaworld.secret.static_s3 import *
SERIALIZATION_MODULES = {'json-pretty': 'karmaworld.apps.serializers.json_pretty'}
'beta.karmanotes.org',
'www.karmanotes.org',
'karmanotes.org',
+ 'quiz.karmanotes.org',
]
########## END SECURITY CONFIGURATION
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
+ 'karmaworld.apps.notes.context_processors.s3_url',
# allauth specific context processors
"allauth.account.context_processors.account",
# Use GZip compression to reduce bandwidth.
'django.middleware.gzip.GZipMiddleware',
+ # Version control middleware.
+ 'reversion.middleware.RevisionMiddleware',
+
# Default Django middleware.
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
# Tagging https://github.com/yedpodtrzitko/django-taggit
'taggit',
+ # Version control
+ 'reversion',
+
+ # AJAX endpoints for autocompletion
+ 'ajax_select',
+ 'ajax_select_cascade',
+
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google',
'allauth.socialaccount.providers.twitter',
+
+ # Added to make quizzes moderation nicer
+ 'nested_inlines',
)
LOCAL_APPS = (
'karmaworld.apps.users',
'karmaworld.apps.moderation',
'karmaworld.apps.licenses',
+ 'karmaworld.apps.quizzes',
)
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
ACCOUNT_CONFIRM_EMAIL_ON_GET = False
ACCOUNT_EMAIL_VERIFICATION = "optional"
ACCOUNT_EMAIL_SUBJECT_PREFIX = "KarmaNotes.org -- "
-ACCOUNT_USER_MODEL_EMAIL_FIELD = "email"
-ACCOUNT_USERNAME_REQUIRED = False
+ACCOUNT_USERNAME_REQUIRED = True
SOCIALACCOUNT_EMAIL_REQUIRED = True
SOCIALACCOUNT_EMAIL_VERIFICATION = "optional"
+SOCIALACCOUNT_QUERY_EMAIL = True
+SOCIALACCOUNT_AUTO_SIGNUP = False
ACCOUNT_USER_DISPLAY = 'karmaworld.apps.users.models.user_display_name'
+ACCOUNT_SIGNUP_FORM_CLASS = 'karmaworld.apps.users.forms.SignupForm'
+ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
AUTH_PROFILE_MODULE = 'users.UserProfile'
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
+ 'filters': {
+ 'require_debug_false': {
+ '()': 'django.utils.log.RequireDebugFalse'
+ }
+ },
'handlers': {
'console': {
'level': 'INFO',
},
'mail_admins': {
'level': 'ERROR',
+ 'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
########## SESSION CONFIGURATION
+SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_COOKIE_AGE = 63072000 # 2 years in seconds
########## END SESSION CONFIGURATION
########## END TAGGIT CONFIGURATION
+
+########## HONEYPOT CONFIGURATION
+# parts of this code borrow from
+# https://github.com/sunlightlabs/django-honeypot
+HONEYPOT_FIELD_NAME = "instruction_url" # see that "_url"? bots gotta want that.
+HONEYPOT_VALUE = ""
+HONEYPOT_LABEL = "Do not fill in this field <span class='required-field'>(we need to make sure you're not a robot)</span>"
+HONEYPOT_ERROR = "You did not follow directions."
+########## END HONEYPOT CONFIGURATION
+
+
+########## TESTING CONFIGURATION
+TESTING = 'test' in sys.argv
+########## END TESTING CONFIGURATION