28 lines
871 B
Python
28 lines
871 B
Python
# If a documented django-todo option is NOT configured in settings, use these values.
|
|
from django.conf import settings
|
|
|
|
hash = {
|
|
"TODO_ALLOW_FILE_ATTACHMENTS": True,
|
|
"TODO_COMMENT_CLASSES": [],
|
|
"TODO_DEFAULT_ASSIGNEE": None,
|
|
"TODO_LIMIT_FILE_ATTACHMENTS": [".jpg", ".gif", ".png", ".csv", ".pdf", ".zip"],
|
|
"TODO_MAXIMUM_ATTACHMENT_SIZE": 5000000,
|
|
"TODO_PUBLIC_SUBMIT_REDIRECT": "/",
|
|
"TODO_STAFF_ONLY": True,
|
|
}
|
|
|
|
# These intentionally have no defaults (user MUST set a value if their features are used):
|
|
# TODO_DEFAULT_LIST_SLUG
|
|
# TODO_MAIL_BACKENDS
|
|
# TODO_MAIL_TRACKERS
|
|
|
|
|
|
def defaults(key: str):
|
|
"""Try to get a setting from project settings.
|
|
If empty or doesn't exist, fall back to a value from defaults hash."""
|
|
|
|
if hasattr(settings, key):
|
|
val = getattr(settings, key)
|
|
else:
|
|
val = hash.get(key)
|
|
return val
|