Skip to content

Test

hypha.settings.test

env module-attribute

env = Env()

PROJECT_DIR module-attribute

PROJECT_DIR = dirname(dirname(abspath(__file__)))

BASE_DIR module-attribute

BASE_DIR = dirname(PROJECT_DIR)

CURRENCY_CODE module-attribute

CURRENCY_CODE = str('CURRENCY_CODE', 'USD')

CURRENCY_LOCALE module-attribute

CURRENCY_LOCALE = str('CURRENCY_LOCALE', 'en_US')

DEFAULT_PER_PAGE module-attribute

DEFAULT_PER_PAGE = 20

DEFAULT_RATE_LIMIT module-attribute

DEFAULT_RATE_LIMIT = str('DEFAULT_RATE_LIMIT', '5/m')

FILE_ALLOWED_EXTENSIONS module-attribute

FILE_ALLOWED_EXTENSIONS = ['doc', 'docx', 'odp', 'ods', 'odt', 'pdf', 'ppt', 'pptx', 'rtf', 'txt', 'xls', 'xlsx']

FILE_ACCEPT_ATTR_VALUE module-attribute

FILE_ACCEPT_ATTR_VALUE = join(['.' + ext for ext in FILE_ALLOWED_EXTENSIONS])

GIVE_STAFF_LEAD_PERMS module-attribute

GIVE_STAFF_LEAD_PERMS = bool('GIVE_STAFF_LEAD_PERMS', False)

SUBMISSIONS_ARCHIVED_VIEW_ACCESS_STAFF module-attribute

SUBMISSIONS_ARCHIVED_VIEW_ACCESS_STAFF = bool('SUBMISSIONS_ARCHIVED_ACCESS_STAFF', False)

SUBMISSIONS_ARCHIVED_VIEW_ACCESS_STAFF_ADMIN module-attribute

SUBMISSIONS_ARCHIVED_VIEW_ACCESS_STAFF_ADMIN = bool('SUBMISSIONS_ARCHIVED_ACCESS_STAFF_ADMIN', True)

SUBMISSION_TITLE_TEXT_TEMPLATE module-attribute

SUBMISSION_TITLE_TEXT_TEMPLATE = env('SUBMISSION_TITLE_TEMPLATE', default='{title} (#{public_id})')

SUBMISSIONS_ARCHIVED_ACCESS_STAFF module-attribute

SUBMISSIONS_ARCHIVED_ACCESS_STAFF = bool('SUBMISSIONS_ARCHIVED_ACCESS_STAFF', False)

SUBMISSIONS_ARCHIVED_ACCESS_STAFF_ADMIN module-attribute

SUBMISSIONS_ARCHIVED_ACCESS_STAFF_ADMIN = bool('SUBMISSIONS_ARCHIVED_ACCESS_STAFF_ADMIN', True)

ORG_EMAIL module-attribute

ORG_EMAIL = str('ORG_EMAIL', '[email protected]')

ORG_GUIDE_URL module-attribute

ORG_GUIDE_URL = str('ORG_GUIDE_URL', 'https://guide.example.org/')

ORG_LONG_NAME module-attribute

ORG_LONG_NAME = str('ORG_LONG_NAME', 'Acme Corporation')

ORG_SHORT_NAME module-attribute

ORG_SHORT_NAME = str('ORG_SHORT_NAME', 'ACME')

ORG_URL module-attribute

ORG_URL = str('ORG_URL', 'https://www.example.org/')

SEND_MESSAGES module-attribute

SEND_MESSAGES = bool('SEND_MESSAGES', False)

SEND_READY_FOR_REVIEW module-attribute

SEND_READY_FOR_REVIEW = bool('SEND_READY_FOR_REVIEW', True)

STAFF_UPLOAD_CONTRACT module-attribute

STAFF_UPLOAD_CONTRACT = bool('STAFF_UPLOAD_CONTRACT', False)

SLACK_TOKEN module-attribute

SLACK_TOKEN = str('SLACK_TOKEN', None)

SLACK_USERNAME module-attribute

SLACK_USERNAME = str('SLACK_USERNAME', 'Hypha')

SLACK_DESTINATION_ROOM module-attribute

SLACK_DESTINATION_ROOM = str('SLACK_DESTINATION_ROOM', None)

SLACK_DESTINATION_ROOM_COMMENTS module-attribute

SLACK_DESTINATION_ROOM_COMMENTS = str('SLACK_DESTINATION_ROOM_COMMENTS', None)

SLACK_TYPE_COMMENTS module-attribute

SLACK_TYPE_COMMENTS = list('SLACK_TYPE_COMMENTS', [])

SLACK_ENDPOINT_URL module-attribute

SLACK_ENDPOINT_URL = str('SLACK_ENDPOINT_URL', 'https://slack.com/api/chat.postMessage')

SLACK_BACKEND module-attribute

SLACK_BACKEND = 'django_slack.backends.CeleryBackend'

ACTIVITY_DIGEST_RECIPIENT_EMAILS module-attribute

ACTIVITY_DIGEST_RECIPIENT_EMAILS = list('ACTIVITY_DIGEST_RECIPIENT_EMAILS', default=[])

STAFF_EMAIL_DOMAINS module-attribute

STAFF_EMAIL_DOMAINS = list('STAFF_EMAIL_DOMAINS', [])

HIDE_STAFF_IDENTITY module-attribute

HIDE_STAFF_IDENTITY = bool('HIDE_STAFF_IDENTITY', False)

HIDE_IDENTITY_FROM_REVIEWERS module-attribute

HIDE_IDENTITY_FROM_REVIEWERS = bool('HIDE_IDENTITY_FROM_REVIEWERS', False)

SUBMISSIONS_DRAFT_ACCESS_STAFF module-attribute

SUBMISSIONS_DRAFT_ACCESS_STAFF = bool('SUBMISSIONS_DRAFT_ACCESS_STAFF', False)

SUBMISSIONS_DRAFT_ACCESS_STAFF_ADMIN module-attribute

SUBMISSIONS_DRAFT_ACCESS_STAFF_ADMIN = bool('SUBMISSIONS_DRAFT_ACCESS_STAFF_ADMIN', False)

SUBMISSIONS_EXPORT_ACCESS_STAFF module-attribute

SUBMISSIONS_EXPORT_ACCESS_STAFF = bool('SUBMISSIONS_EXPORT_ACCESS_STAFF', False)

SUBMISSIONS_EXPORT_ACCESS_STAFF_ADMIN module-attribute

SUBMISSIONS_EXPORT_ACCESS_STAFF_ADMIN = bool('SUBMISSIONS_EXPORT_ACCESS_STAFF_ADMIN', True)

SUBMISSIONS_TABLE_EXCLUDED_FIELDS module-attribute

SUBMISSIONS_TABLE_EXCLUDED_FIELDS = list('SUBMISSIONS_TABLE_EXCLUDED_FIELDS', ['organization_name'])

REVIEW_VISIBILITY_DEFAULT module-attribute

REVIEW_VISIBILITY_DEFAULT = str('REVIEW_VISIBILITY_DEFAULT', 'private')

SUBMISSION_PREVIEW_REQUIRED module-attribute

SUBMISSION_PREVIEW_REQUIRED = bool('SUBMISSION_PREVIEW_REQUIRED', True)

ALLOWED_HOSTS module-attribute

ALLOWED_HOSTS = list('ALLOWED_HOSTS', [])

APP_NAME module-attribute

APP_NAME = str('APP_NAME', 'hypha')

DATABASES module-attribute

DATABASES = {'default': config(default=f'postgres:///{APP_NAME}', conn_max_age=600, conn_health_checks=True)}

CONN_HEALTH_CHECKS module-attribute

CONN_HEALTH_CHECKS = bool('CONN_HEALTH_CHECKS', True)

LANGUAGE_CODE module-attribute

LANGUAGE_CODE = str('LANGUAGE_CODE', 'en')

APPLICATION_TRANSLATIONS_ENABLED module-attribute

APPLICATION_TRANSLATIONS_ENABLED = bool('APPLICATION_TRANSLATIONS_ENABLED', False)

PASSWORD_RESET_TIMEOUT module-attribute

PASSWORD_RESET_TIMEOUT = int('PASSWORD_RESET_TIMEOUT', 259200)

PASSWORDLESS_LOGIN_TIMEOUT module-attribute

PASSWORDLESS_LOGIN_TIMEOUT = int('PASSWORDLESS_LOGIN_TIMEOUT', 900)

ENABLE_PUBLIC_SIGNUP module-attribute

ENABLE_PUBLIC_SIGNUP = bool('ENABLE_PUBLIC_SIGNUP', True)

FORCE_LOGIN_FOR_APPLICATION module-attribute

FORCE_LOGIN_FOR_APPLICATION = bool('FORCE_LOGIN_FOR_APPLICATION', True)

PASSWORDLESS_SIGNUP_TIMEOUT module-attribute

PASSWORDLESS_SIGNUP_TIMEOUT = int('PASSWORDLESS_SIGNUP_TIMEOUT', 900)

PASSWORD_PAGE_TIMEOUT module-attribute

PASSWORD_PAGE_TIMEOUT = int('PASSWORD_PAGE_TIMEOUT', 120)

TEMPLATES module-attribute

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [join(PROJECT_DIR, 'templates_custom'), join(PROJECT_DIR, 'templates'), join(PROJECT_DIR, 'apply', 'templates')], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'wagtail.contrib.settings.context_processors.settings', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'hypha.apply.projects.context_processors.projects_enabled', 'hypha.cookieconsent.context_processors.cookies_accepted', 'hypha.core.context_processors.global_vars'], 'builtins': ['django_web_components.templatetags.components']}}]

EMAIL_HOST module-attribute

EMAIL_HOST = str('EMAIL_HOST', None)

EMAIL_PORT module-attribute

EMAIL_PORT = int('EMAIL_PORT', None)

EMAIL_HOST_USER module-attribute

EMAIL_HOST_USER = str('EMAIL_HOST_USER', None)

EMAIL_HOST_PASSWORD module-attribute

EMAIL_HOST_PASSWORD = str('EMAIL_HOST_PASSWORD', None)

EMAIL_USE_TLS module-attribute

EMAIL_USE_TLS = bool('EMAIL_USE_TLS', False)

EMAIL_USE_SSL module-attribute

EMAIL_USE_SSL = bool('EMAIL_USE_SSL', False)

EMAIL_SUBJECT_PREFIX module-attribute

EMAIL_SUBJECT_PREFIX = str('EMAIL_SUBJECT_PREFIX', '')

SERVER_EMAIL module-attribute

SERVER_EMAIL = str('SERVER_EMAIL', None)

DEFAULT_FROM_EMAIL module-attribute

DEFAULT_FROM_EMAIL = str('SERVER_EMAIL', None)

CACHE_CONTROL_MAX_AGE module-attribute

CACHE_CONTROL_MAX_AGE = int('CACHE_CONTROL_MAX_AGE', 3600)

CACHE_CONTROL_S_MAXAGE module-attribute

CACHE_CONTROL_S_MAXAGE = int('CACHE_CONTROL_S_MAXAGE', 3600)

FEED_CACHE_TIMEOUT module-attribute

FEED_CACHE_TIMEOUT = 600

X_FRAME_OPTIONS module-attribute

X_FRAME_OPTIONS = 'SAMEORIGIN'

CACHES module-attribute

CACHES = {'default': {'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'database_cache'}}

STATICFILES_DIRS module-attribute

STATICFILES_DIRS = [join(PROJECT_DIR, 'static_compiled'), join(PROJECT_DIR, '../public')]

STATIC_ROOT module-attribute

STATIC_ROOT = str('STATIC_DIR', join(BASE_DIR, 'static'))

STATIC_URL module-attribute

STATIC_URL = str('STATIC_URL', '/static/')

MEDIA_ROOT module-attribute

MEDIA_ROOT = str('MEDIA_DIR', join(BASE_DIR, 'media'))

MEDIA_URL module-attribute

MEDIA_URL = str('MEDIA_URL', '/media/')

WAGTAIL_FRONTEND_LOGIN_URL module-attribute

WAGTAIL_FRONTEND_LOGIN_URL = '/auth/'

WAGTAIL_SITE_NAME module-attribute

WAGTAIL_SITE_NAME = 'hypha'

WAGTAILIMAGES_IMAGE_MODEL module-attribute

WAGTAILIMAGES_IMAGE_MODEL = 'images.CustomImage'

WAGTAILIMAGES_FEATURE_DETECTION_ENABLED module-attribute

WAGTAILIMAGES_FEATURE_DETECTION_ENABLED = False

WAGTAIL_USER_EDIT_FORM module-attribute

WAGTAIL_USER_EDIT_FORM = 'hypha.apply.users.forms.CustomUserEditForm'

WAGTAIL_USER_CREATION_FORM module-attribute

WAGTAIL_USER_CREATION_FORM = 'hypha.apply.users.forms.CustomUserCreationForm'

WAGTAIL_USER_CUSTOM_FIELDS module-attribute

WAGTAIL_USER_CUSTOM_FIELDS = ['full_name']

WAGTAIL_PASSWORD_MANAGEMENT_ENABLED module-attribute

WAGTAIL_PASSWORD_MANAGEMENT_ENABLED = False

WAGTAILUSERS_PASSWORD_ENABLED module-attribute

WAGTAILUSERS_PASSWORD_ENABLED = False

WAGTAILUSERS_PASSWORD_REQUIRED module-attribute

WAGTAILUSERS_PASSWORD_REQUIRED = False

WAGTAILEMBEDS_RESPONSIVE_HTML module-attribute

WAGTAILEMBEDS_RESPONSIVE_HTML = True

PASSWORD_REQUIRED_TEMPLATE module-attribute

PASSWORD_REQUIRED_TEMPLATE = 'password_required.html'

WAGTAILADMIN_RICH_TEXT_EDITORS module-attribute

WAGTAILADMIN_RICH_TEXT_EDITORS = {'default': {'WIDGET': 'wagtail.admin.rich_text.DraftailRichTextArea', 'OPTIONS': {'features': ['bold', 'italic', 'h1', 'h2', 'h3', 'h4', 'h5', 'ol', 'ul', 'link']}}}

WAGTAILSEARCH_BACKENDS module-attribute

WAGTAILSEARCH_BACKENDS = {'default': {'BACKEND': 'wagtail.search.backends.database'}}

WAGTAILFRONTENDCACHE module-attribute

WAGTAILFRONTENDCACHE = {'cloudflare': {'BACKEND': 'wagtail.contrib.frontend_cache.backends.CloudflareBackend', 'BEARER_TOKEN': str('CLOUDFLARE_BEARER_TOKEN'), 'ZONEID': str('CLOUDFLARE_API_ZONEID')}}

SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS module-attribute

SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS = list('SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS', STAFF_EMAIL_DOMAINS)

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY module-attribute

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = str('SOCIAL_AUTH_GOOGLE_OAUTH2_KEY', '')

SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET module-attribute

SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = str('SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET', '')

SOCIAL_AUTH_URL_NAMESPACE module-attribute

SOCIAL_AUTH_URL_NAMESPACE = 'social'

SOCIAL_AUTH_LOGIN_ERROR_URL module-attribute

SOCIAL_AUTH_LOGIN_ERROR_URL = 'users:login'

SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL module-attribute

SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = 'users:account'

SOCIAL_AUTH_PIPELINE module-attribute

SOCIAL_AUTH_PIPELINE = ('social_core.pipeline.social_auth.social_details', 'social_core.pipeline.social_auth.social_uid', 'social_core.pipeline.social_auth.auth_allowed', 'social_core.pipeline.social_auth.social_user', 'social_core.pipeline.social_auth.associate_by_email', 'social_core.pipeline.user.create_user', 'social_core.pipeline.social_auth.associate_user', 'social_core.pipeline.social_auth.load_extra_data', 'social_core.pipeline.user.user_details')

NH3_ALLOWED_TAGS module-attribute

NH3_ALLOWED_TAGS = ['a', 'b', 'big', 'blockquote', 'br', 'cite', 'code', 'col', 'colgroup', 'dd', 'del', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'ins', 'li', 'ol', 'p', 'pre', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'th', 'thead', 'tr', 'ul']

NH3_ALLOWED_ATTRIBUTES module-attribute

NH3_ALLOWED_ATTRIBUTES = {'*': ['class', 'colspan', 'href', 'rowspan', 'target', 'title', 'width', 'data-tippy-content']}

NH3_STRIP_COMMENTS module-attribute

NH3_STRIP_COMMENTS = True

HIJACK_LOGIN_REDIRECT_URL module-attribute

HIJACK_LOGIN_REDIRECT_URL = '/dashboard/'

HIJACK_LOGOUT_REDIRECT_URL module-attribute

HIJACK_LOGOUT_REDIRECT_URL = '/account/'

HIJACK_DECORATOR module-attribute

HIJACK_DECORATOR = 'hypha.apply.users.decorators.superuser_decorator'

HIJACK_PERMISSION_CHECK module-attribute

HIJACK_PERMISSION_CHECK = 'hijack.permissions.superusers_and_staff'

CELERY_TASK_ALWAYS_EAGER module-attribute

CELERY_TASK_ALWAYS_EAGER = True

DEFAULT_FILE_STORAGE module-attribute

DEFAULT_FILE_STORAGE = 'hypha.storage_backends.PublicMediaStorage'

PRIVATE_FILE_STORAGE module-attribute

PRIVATE_FILE_STORAGE = 'hypha.storage_backends.PrivateMediaStorage'

AWS_STORAGE_BUCKET_NAME module-attribute

AWS_STORAGE_BUCKET_NAME = str('AWS_STORAGE_BUCKET_NAME')

AWS_PUBLIC_BUCKET_NAME module-attribute

AWS_PUBLIC_BUCKET_NAME = str('AWS_PUBLIC_BUCKET_NAME', AWS_STORAGE_BUCKET_NAME)

AWS_PRIVATE_BUCKET_NAME module-attribute

AWS_PRIVATE_BUCKET_NAME = str('AWS_PRIVATE_BUCKET_NAME', AWS_STORAGE_BUCKET_NAME)

AWS_S3_CUSTOM_DOMAIN module-attribute

AWS_S3_CUSTOM_DOMAIN = str('AWS_S3_CUSTOM_DOMAIN', None)

AWS_PRIVATE_CUSTOM_DOMAIN module-attribute

AWS_PRIVATE_CUSTOM_DOMAIN = str('AWS_PRIVATE_CUSTOM_DOMAIN', None)

AWS_QUERYSTRING_EXPIRE module-attribute

AWS_QUERYSTRING_EXPIRE = str('AWS_QUERYSTRING_EXPIRE', None)

AWS_PUBLIC_CUSTOM_DOMAIN module-attribute

AWS_PUBLIC_CUSTOM_DOMAIN = str('AWS_PUBLIC_CUSTOM_DOMAIN', None)

AWS_MIGRATION_BUCKET_NAME module-attribute

AWS_MIGRATION_BUCKET_NAME = str('AWS_MIGRATION_BUCKET_NAME', '')

AWS_MIGRATION_ACCESS_KEY_ID module-attribute

AWS_MIGRATION_ACCESS_KEY_ID = str('AWS_MIGRATION_ACCESS_KEY_ID', '')

AWS_MIGRATION_SECRET_ACCESS_KEY module-attribute

AWS_MIGRATION_SECRET_ACCESS_KEY = str('AWS_MIGRATION_SECRET_ACCESS_KEY', '')

APPLY_NAV_MENU_ITEMS module-attribute

APPLY_NAV_MENU_ITEMS = json('APPLY_NAV_MENU_ITEMS', '{}')

APPLY_NAV_SUBMISSIONS_ITEMS module-attribute

APPLY_NAV_SUBMISSIONS_ITEMS = json('APPLY_NAV_SUBMISSIONS_ITEMS', '{}')

APPLY_NAV_PROJECTS_ITEMS module-attribute

APPLY_NAV_PROJECTS_ITEMS = json('APPLY_NAV_PROJECTS_ITEMS', '{}')

BASIC_AUTH_LOGIN module-attribute

BASIC_AUTH_LOGIN = str('BASIC_AUTH_LOGIN', None)

BASIC_AUTH_PASSWORD module-attribute

BASIC_AUTH_PASSWORD = str('BASIC_AUTH_PASSWORD', None)

BASIC_AUTH_WHITELISTED_HTTP_HOSTS module-attribute

BASIC_AUTH_WHITELISTED_HTTP_HOSTS = list('BASIC_AUTH_WHITELISTED_HTTP_HOSTS', [])

BASIC_AUTH_WHITELISTED_IP_NETWORKS module-attribute

BASIC_AUTH_WHITELISTED_IP_NETWORKS = list('BASIC_AUTH_WHITELISTED_IP_NETWORKS', [])
SESSION_COOKIE_AGE = int('SESSION_COOKIE_AGE', 60 * 60 * 12)
SESSION_COOKIE_AGE_LONG = int('SESSION_COOKIE_AGE_LONG', 60 * 60 * 24 * 7 * 2)

PRIMARY_HOST module-attribute

PRIMARY_HOST = str('PRIMARY_HOST', None)

SECURE_PROXY_SSL_HEADER module-attribute

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

SECURE_HSTS_SECONDS module-attribute

SECURE_HSTS_SECONDS = int('SECURE_HSTS_SECONDS', None)

SECURE_BROWSER_XSS_FILTER module-attribute

SECURE_BROWSER_XSS_FILTER = bool('SECURE_BROWSER_XSS_FILTER', True)

SECURE_CONTENT_TYPE_NOSNIFF module-attribute

SECURE_CONTENT_TYPE_NOSNIFF = bool('SECURE_CONTENT_TYPE_NOSNIFF', True)
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
ELEVATE_COOKIE_SECURE = True

REFERRER_POLICY module-attribute

REFERRER_POLICY = strip()
ELEVATE_COOKIE_AGE = int('ELEVATE_COOKIE_AGE', 3600)

REST_FRAMEWORK module-attribute

REST_FRAMEWORK = {'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 10, 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication'), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated')}

FILE_FORM_CACHE module-attribute

FILE_FORM_CACHE = 'django_file_form'

FILE_FORM_UPLOAD_DIR module-attribute

FILE_FORM_UPLOAD_DIR = 'temp_uploads'

FILE_FORM_TEMP_STORAGE module-attribute

FILE_FORM_TEMP_STORAGE = PRIVATE_FILE_STORAGE

INTACCT_ENABLED module-attribute

INTACCT_ENABLED = bool('INTACCT_ENABLED', False)

INTACCT_SENDER_ID module-attribute

INTACCT_SENDER_ID = str('INTACCT_SENDER_ID', '')

INTACCT_SENDER_PASSWORD module-attribute

INTACCT_SENDER_PASSWORD = str('INTACCT_SENDER_PASSWORD', '')

INTACCT_USER_ID module-attribute

INTACCT_USER_ID = str('INTACCT_USER_ID', '')

INTACCT_COMPANY_ID module-attribute

INTACCT_COMPANY_ID = str('INTACCT_COMPANY_ID', '')

INTACCT_USER_PASSWORD module-attribute

INTACCT_USER_PASSWORD = str('INTACCT_USER_PASSWORD', '')

LOCALE_PATHS module-attribute

LOCALE_PATHS = (PROJECT_DIR + '/locale')

DEBUG module-attribute

DEBUG = False

DEBUGTOOLBAR module-attribute

DEBUGTOOLBAR = False

MESSAGE_LEVEL module-attribute

MESSAGE_LEVEL = DEBUG

COUNTRIES_OVERRIDE module-attribute

COUNTRIES_OVERRIDE = {'KV': 'Kosovo'}

ENABLE_GOOGLE_TRANSLATE module-attribute

ENABLE_GOOGLE_TRANSLATE = bool('ENABLE_GOOGLE_TRANSLATE', True)

SENTRY_DSN module-attribute

SENTRY_DSN = str('SENTRY_DSN', None)

SENTRY_PUBLIC_KEY module-attribute

SENTRY_PUBLIC_KEY = str('SENTRY_PUBLIC_KEY', None)

SENTRY_TRACES_SAMPLE_RATE module-attribute

SENTRY_TRACES_SAMPLE_RATE = float('SENTRY_TRACES_SAMPLE_RATE', default=0)

SENTRY_ENVIRONMENT module-attribute

SENTRY_ENVIRONMENT = str('SENTRY_ENVIRONMENT', 'production')

SENTRY_DEBUG module-attribute

SENTRY_DEBUG = bool('SENTRY_DEBUG', False)

SENTRY_DENY_URLS module-attribute

SENTRY_DENY_URLS = list('SENTRY_DENY_URLS', default=[])

INSTALLED_APPS module-attribute

INSTALLED_APPS = ['scout_apm.django', 'hypha.cookieconsent', 'hypha.images', 'hypha.core.apps.CoreAppConfig', 'hypha.apply.activity', 'hypha.apply.categories', 'hypha.apply.funds', 'hypha.apply.dashboard', 'hypha.apply.flags', 'hypha.home', 'hypha.apply.users', 'hypha.apply.review', 'hypha.apply.determinations', 'hypha.apply.stream_forms', 'hypha.apply.todo', 'hypha.apply.translate', 'hypha.apply.utils.apps.UtilsConfig', 'hypha.apply.projects.apps.ProjectsConfig', 'hypha.public.funds', 'hypha.public.home', 'hypha.public.navigation', 'hypha.public.news', 'hypha.public.people', 'hypha.public.projects', 'hypha.public.standardpages', 'hypha.public.forms', 'hypha.public.utils', 'hypha.public.partner', 'social_django', 'django_htmx', 'heroicons', 'django_web_components', 'wagtail.contrib.modeladmin', 'wagtail.contrib.settings', 'wagtail.contrib.forms', 'wagtail.contrib.redirects', 'wagtail.embeds', 'wagtail.sites', 'wagtail.users', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images', 'wagtail.search', 'wagtail.admin', 'wagtail', 'anymail', 'modelcluster', 'taggit', 'django_extensions', 'tinymce', 'django_tables2', 'django_filters', 'django_select2', 'hypha.addressfield', 'django_nh3', 'django_fsm', 'django_slack', 'django_otp', 'django_otp.plugins.otp_totp', 'django_otp.plugins.otp_static', 'two_factor', 'rest_framework', 'rest_framework_api_key', 'django_file_form', 'rolepermissions', 'hijack', 'elevate', 'pagedown', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.postgres', 'django.contrib.staticfiles', 'django.contrib.sitemaps', 'django.forms', 'formtools']

MIDDLEWARE module-attribute

MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'elevate.middleware.ElevateMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_referrer_policy.middleware.ReferrerPolicyMiddleware', 'django_otp.middleware.OTPMiddleware', 'hypha.apply.users.middleware.TwoFactorAuthenticationMiddleware', 'hijack.middleware.HijackUserMiddleware', 'hypha.apply.users.middleware.SocialAuthExceptionMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware', 'hypha.apply.middleware.HandleProtectionErrorMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'hypha.core.middleware.htmx.HtmxMessageMiddleware']

LOGGING module-attribute

LOGGING = {'version': 1, 'disable_existing_loggers': False, 'handlers': {'console': {'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'formatters': {'verbose': {'format': '[%(asctime)s][%(process)d][%(levelname)s][%(name)s] %(message)s'}}, 'loggers': {'hypha': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'wagtail': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'django': {'handlers': ['console'], 'level': 'ERROR', 'propagate': False}, 'django.request': {'handlers': ['console'], 'level': 'WARNING', 'propagate': False}, 'django.security': {'handlers': ['console'], 'level': 'WARNING', 'propagate': False}}}

AUTH_PASSWORD_VALIDATORS module-attribute

AUTH_PASSWORD_VALIDATORS = [{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 'OPTIONS': {'min_length': 12}}, {'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'}, {'NAME': 'pwned_passwords_django.validators.PwnedPasswordsValidator', 'OPTIONS': {'error_message': gettext_lazy('This password has previously appeared in a data breach and should not be used. Please choose a different password.'), 'help_message': gettext_lazy('Your password must not have been detected in a major security breach.')}}]

TIME_ZONE module-attribute

TIME_ZONE = 'UTC'

USE_I18N module-attribute

USE_I18N = True

USE_L10N module-attribute

USE_L10N = False

USE_TZ module-attribute

USE_TZ = True

DATE_FORMAT module-attribute

DATE_FORMAT = 'N j, Y'

DATETIME_FORMAT module-attribute

DATETIME_FORMAT = 'N j, Y, H:i'

SHORT_DATE_FORMAT module-attribute

SHORT_DATE_FORMAT = 'Y-m-d'

SHORT_DATETIME_FORMAT module-attribute

SHORT_DATETIME_FORMAT = 'Y-m-d H:i'

DATETIME_INPUT_FORMATS module-attribute

DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%dT%H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']

AUTH_USER_MODEL module-attribute

AUTH_USER_MODEL = 'users.User'

LOGIN_URL module-attribute

LOGIN_URL = 'users:passwordless_login_signup'

LOGIN_REDIRECT_URL module-attribute

LOGIN_REDIRECT_URL = 'dashboard:dashboard'

ELEVATE_URL module-attribute

ELEVATE_URL = 'users:elevate'

ELEVATE_REDIRECT_URL module-attribute

ELEVATE_REDIRECT_URL = LOGIN_REDIRECT_URL

CUSTOM_AUTH_BACKEND module-attribute

CUSTOM_AUTH_BACKEND = 'hypha.apply.users.backends.CustomModelBackend'

AUTHENTICATION_BACKENDS module-attribute

AUTHENTICATION_BACKENDS = ('social_core.backends.google.GoogleOAuth2', CUSTOM_AUTH_BACKEND)

ROLEPERMISSIONS_MODULE module-attribute

ROLEPERMISSIONS_MODULE = 'hypha.apply.users.roles'

DEFAULT_AUTO_FIELD module-attribute

DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'

ROOT_URLCONF module-attribute

ROOT_URLCONF = 'hypha.urls'

FORM_RENDERER module-attribute

FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'

WSGI_APPLICATION module-attribute

WSGI_APPLICATION = 'hypha.wsgi.application'

SECRET_KEY module-attribute

SECRET_KEY = 'NOT A SECRET'

HIJACK_ENABLE module-attribute

HIJACK_ENABLE = True

PROJECTS_ENABLED module-attribute

PROJECTS_ENABLED = True

PROJECTS_AUTO_CREATE module-attribute

PROJECTS_AUTO_CREATE = True

TRANSITION_AFTER_REVIEWS module-attribute

TRANSITION_AFTER_REVIEWS = 2

TRANSITION_AFTER_ASSIGNED module-attribute

TRANSITION_AFTER_ASSIGNED = True

STATICFILES_STORAGE module-attribute

STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'

PASSWORD_HASHERS module-attribute

PASSWORD_HASHERS = ['django.contrib.auth.hashers.MD5PasswordHasher']

WAGTAILADMIN_BASE_URL module-attribute

WAGTAILADMIN_BASE_URL = 'https://primary-test-host.org'
ELEVATE_COOKIE_SALT = SECRET_KEY

ENFORCE_TWO_FACTOR module-attribute

ENFORCE_TWO_FACTOR = False

SECURE_SSL_REDIRECT module-attribute

SECURE_SSL_REDIRECT = False