root / snf-astakos-app / astakos / im / settings.py @ 56bbece7
History | View | Annotate | Download (8.9 kB)
1 | 92defad4 | Sofia Papagiannaki | from django.conf import settings |
---|---|---|---|
2 | a2110608 | Olga Brani | from synnefo_branding import settings as synnefo_settings |
3 | e3ff6830 | Georgios D. Tsoukalas | from synnefo.lib import parse_base_url |
4 | 81e604c5 | Ilias Tsitsimpis | from astakos.api.services import astakos_services as vanilla_astakos_services |
5 | 484a79a1 | Georgios D. Tsoukalas | from synnefo.util.keypath import get_path |
6 | 6c7af65c | Georgios D. Tsoukalas | from synnefo.lib import join_urls |
7 | d861a967 | Georgios D. Tsoukalas | from synnefo.lib.services import fill_endpoints |
8 | d861a967 | Georgios D. Tsoukalas | |
9 | d861a967 | Georgios D. Tsoukalas | from copy import deepcopy |
10 | 484a79a1 | Georgios D. Tsoukalas | |
11 | e3ff6830 | Georgios D. Tsoukalas | |
12 | e3ff6830 | Georgios D. Tsoukalas | BASE_URL = getattr(settings, 'ASTAKOS_BASE_URL', |
13 | e3ff6830 | Georgios D. Tsoukalas | 'https://accounts.example.synnefo.org')
|
14 | e3ff6830 | Georgios D. Tsoukalas | |
15 | e3ff6830 | Georgios D. Tsoukalas | |
16 | e3ff6830 | Georgios D. Tsoukalas | BASE_HOST, BASE_PATH = parse_base_url(BASE_URL) |
17 | e3ff6830 | Georgios D. Tsoukalas | |
18 | d861a967 | Georgios D. Tsoukalas | astakos_services = deepcopy(vanilla_astakos_services) |
19 | d861a967 | Georgios D. Tsoukalas | fill_endpoints(astakos_services, BASE_URL) |
20 | 484a79a1 | Georgios D. Tsoukalas | ACCOUNTS_PREFIX = get_path(astakos_services, 'astakos_account.prefix')
|
21 | 484a79a1 | Georgios D. Tsoukalas | VIEWS_PREFIX = get_path(astakos_services, 'astakos_ui.prefix')
|
22 | 923e6582 | Georgios D. Tsoukalas | KEYSTONE_PREFIX = get_path(astakos_services, 'astakos_identity.prefix')
|
23 | bdb325a1 | Georgios D. Tsoukalas | WEBLOGIN_PREFIX = get_path(astakos_services, 'astakos_weblogin.prefix')
|
24 | c8a38c0e | Christos Stavrakakis | ADMIN_PREFIX = get_path(astakos_services, 'astakos_admin.prefix')
|
25 | 92defad4 | Sofia Papagiannaki | |
26 | 92defad4 | Sofia Papagiannaki | # Set the expiration time of newly created auth tokens
|
27 | 92defad4 | Sofia Papagiannaki | # to be this many hours after their creation time.
|
28 | 92defad4 | Sofia Papagiannaki | AUTH_TOKEN_DURATION = getattr(settings, 'ASTAKOS_AUTH_TOKEN_DURATION', 30 * 24) |
29 | 92defad4 | Sofia Papagiannaki | |
30 | 92defad4 | Sofia Papagiannaki | DEFAULT_USER_LEVEL = getattr(settings, 'ASTAKOS_DEFAULT_USER_LEVEL', 4) |
31 | 92defad4 | Sofia Papagiannaki | |
32 | 92defad4 | Sofia Papagiannaki | INVITATIONS_PER_LEVEL = getattr(settings, 'ASTAKOS_INVITATIONS_PER_LEVEL', { |
33 | 5ce3ce4f | Sofia Papagiannaki | 0: 100, |
34 | 5ce3ce4f | Sofia Papagiannaki | 1: 2, |
35 | 5ce3ce4f | Sofia Papagiannaki | 2: 0, |
36 | 5ce3ce4f | Sofia Papagiannaki | 3: 0, |
37 | 5ce3ce4f | Sofia Papagiannaki | 4: 0 |
38 | 92defad4 | Sofia Papagiannaki | }) |
39 | 92defad4 | Sofia Papagiannaki | |
40 | 190a2743 | Giorgos Korfiatis | ADMINS = tuple(getattr(settings, 'ADMINS', ())) |
41 | 190a2743 | Giorgos Korfiatis | MANAGERS = tuple(getattr(settings, 'MANAGERS', ())) |
42 | 190a2743 | Giorgos Korfiatis | HELPDESK = tuple(getattr(settings, 'HELPDESK', ())) |
43 | 92defad4 | Sofia Papagiannaki | |
44 | 31bc3a62 | Kostas Papadimitriou | CONTACT_EMAIL = settings.CONTACT_EMAIL |
45 | 31bc3a62 | Kostas Papadimitriou | SERVER_EMAIL = settings.SERVER_EMAIL |
46 | 8998f09a | Sofia Papagiannaki | SECRET_KEY = settings.SECRET_KEY |
47 | 8998f09a | Sofia Papagiannaki | SESSION_ENGINE = settings.SESSION_ENGINE |
48 | a3eb3a95 | Giorgos Korfiatis | |
49 | 92defad4 | Sofia Papagiannaki | # Identity Management enabled modules
|
50 | 55c99c1c | Sofia Papagiannaki | # Supported modules are: 'local', 'twitter' and 'shibboleth'
|
51 | 55c99c1c | Sofia Papagiannaki | IM_MODULES = getattr(settings, 'ASTAKOS_IM_MODULES', ['local']) |
52 | 92defad4 | Sofia Papagiannaki | |
53 | 92defad4 | Sofia Papagiannaki | # Force user profile verification
|
54 | 0a7a4104 | Kostas Papadimitriou | FORCE_PROFILE_UPDATE = getattr(settings, 'ASTAKOS_FORCE_PROFILE_UPDATE', False) |
55 | 92defad4 | Sofia Papagiannaki | |
56 | 92defad4 | Sofia Papagiannaki | #Enable invitations
|
57 | 55c99c1c | Sofia Papagiannaki | INVITATIONS_ENABLED = getattr(settings, 'ASTAKOS_INVITATIONS_ENABLED', False) |
58 | 92defad4 | Sofia Papagiannaki | |
59 | 92defad4 | Sofia Papagiannaki | COOKIE_NAME = getattr(settings, 'ASTAKOS_COOKIE_NAME', '_pithos2_a') |
60 | 92defad4 | Sofia Papagiannaki | COOKIE_DOMAIN = getattr(settings, 'ASTAKOS_COOKIE_DOMAIN', None) |
61 | ca34523e | Antony Chazapis | COOKIE_SECURE = getattr(settings, 'ASTAKOS_COOKIE_SECURE', True) |
62 | 92defad4 | Sofia Papagiannaki | |
63 | 94459980 | Kostas Papadimitriou | IM_STATIC_URL = getattr(settings, 'ASTAKOS_IM_STATIC_URL', '/static/im/') |
64 | 92defad4 | Sofia Papagiannaki | |
65 | 9d20fe23 | Kostas Papadimitriou | # If set to False and invitations not enabled newly created user
|
66 | 9d20fe23 | Kostas Papadimitriou | # will be automatically accepted
|
67 | 1463659a | Sofia Papagiannaki | MODERATION_ENABLED = getattr(settings, 'ASTAKOS_MODERATION_ENABLED', True) |
68 | 1463659a | Sofia Papagiannaki | |
69 | 374611bc | Sofia Papagiannaki | # Set service name
|
70 | a2110608 | Olga Brani | SITENAME = getattr(settings, 'ASTAKOS_SITENAME', synnefo_settings.SERVICE_NAME) |
71 | 1ae97c83 | Sofia Papagiannaki | |
72 | db7fecd9 | Sofia Papagiannaki | # Set recaptcha keys
|
73 | db7fecd9 | Sofia Papagiannaki | RECAPTCHA_PUBLIC_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PUBLIC_KEY', '') |
74 | db7fecd9 | Sofia Papagiannaki | RECAPTCHA_PRIVATE_KEY = getattr(settings, 'ASTAKOS_RECAPTCHA_PRIVATE_KEY', '') |
75 | 5ce3ce4f | Sofia Papagiannaki | RECAPTCHA_OPTIONS = getattr(settings, 'ASTAKOS_RECAPTCHA_OPTIONS', |
76 | 8fb8d0cf | Giorgos Korfiatis | {'theme': 'custom', |
77 | 8fb8d0cf | Giorgos Korfiatis | 'custom_theme_widget': 'okeanos_recaptcha'}) |
78 | 989b28f3 | Kostas Papadimitriou | RECAPTCHA_USE_SSL = getattr(settings, 'ASTAKOS_RECAPTCHA_USE_SSL', True) |
79 | 55c99c1c | Sofia Papagiannaki | RECAPTCHA_ENABLED = getattr(settings, 'ASTAKOS_RECAPTCHA_ENABLED', False) |
80 | ee1de5e9 | Kostas Papadimitriou | |
81 | 3a9f4931 | Sofia Papagiannaki | # Set where the user should be redirected after logout
|
82 | ebd369d0 | Sofia Papagiannaki | LOGOUT_NEXT = getattr(settings, 'ASTAKOS_LOGOUT_NEXT', '') |
83 | ebd369d0 | Sofia Papagiannaki | |
84 | ebd369d0 | Sofia Papagiannaki | # Set user email patterns that are automatically activated
|
85 | 5ce3ce4f | Sofia Papagiannaki | RE_USER_EMAIL_PATTERNS = getattr(
|
86 | 5ce3ce4f | Sofia Papagiannaki | settings, 'ASTAKOS_RE_USER_EMAIL_PATTERNS', [])
|
87 | 25d9d4d0 | Sofia Papagiannaki | |
88 | 76776df1 | Kostas Papadimitriou | # Messages to display on login page header
|
89 | 8fb8d0cf | Giorgos Korfiatis | # e.g. {'warning':
|
90 | 8fb8d0cf | Giorgos Korfiatis | # 'This warning message will be displayed on the top of login page'}
|
91 | 4f78c22c | Sofia Papagiannaki | LOGIN_MESSAGES = getattr(settings, 'ASTAKOS_LOGIN_MESSAGES', []) |
92 | 25d9d4d0 | Sofia Papagiannaki | |
93 | ad956265 | Kostas Papadimitriou | # Messages to display on login page header
|
94 | 8fb8d0cf | Giorgos Korfiatis | # e.g. {'warning':
|
95 | 8fb8d0cf | Giorgos Korfiatis | # 'This warning message will be displayed on the top of signup page'}
|
96 | 4f78c22c | Sofia Papagiannaki | SIGNUP_MESSAGES = getattr(settings, 'ASTAKOS_SIGNUP_MESSAGES', []) |
97 | ad956265 | Kostas Papadimitriou | |
98 | ad956265 | Kostas Papadimitriou | # Messages to display on login page header
|
99 | 8fb8d0cf | Giorgos Korfiatis | # e.g. {'warning':
|
100 | 8fb8d0cf | Giorgos Korfiatis | # 'This warning message will be displayed on the top of profile page'}
|
101 | 4f78c22c | Sofia Papagiannaki | PROFILE_MESSAGES = getattr(settings, 'ASTAKOS_PROFILE_MESSAGES', []) |
102 | ad956265 | Kostas Papadimitriou | |
103 | ad956265 | Kostas Papadimitriou | # Messages to display on all pages
|
104 | 8fb8d0cf | Giorgos Korfiatis | # e.g. {'warning':
|
105 | 8fb8d0cf | Giorgos Korfiatis | # 'This warning message will be displayed on the top of every page'}
|
106 | 4f78c22c | Sofia Papagiannaki | GLOBAL_MESSAGES = getattr(settings, 'ASTAKOS_GLOBAL_MESSAGES', []) |
107 | ad956265 | Kostas Papadimitriou | |
108 | 76776df1 | Kostas Papadimitriou | # messages to display as extra actions in account forms
|
109 | 9d889386 | Olga Brani | # e.g. {'https://www.myhomepage.com': 'Back to <service_name>'}
|
110 | 76776df1 | Kostas Papadimitriou | PROFILE_EXTRA_LINKS = getattr(settings, 'ASTAKOS_PROFILE_EXTRA_LINKS', {}) |
111 | 76776df1 | Kostas Papadimitriou | |
112 | 8fb8d0cf | Giorgos Korfiatis | # The number of unsuccessful login requests per minute allowed
|
113 | 8fb8d0cf | Giorgos Korfiatis | # for a specific user
|
114 | 5ce3ce4f | Sofia Papagiannaki | RATELIMIT_RETRIES_ALLOWED = getattr(
|
115 | 5ce3ce4f | Sofia Papagiannaki | settings, 'ASTAKOS_RATELIMIT_RETRIES_ALLOWED', 3) |
116 | 672d445a | Sofia Papagiannaki | |
117 | e2447828 | Sofia Papagiannaki | # If False the email change mechanism is disabled
|
118 | e2447828 | Sofia Papagiannaki | EMAILCHANGE_ENABLED = getattr(settings, 'ASTAKOS_EMAILCHANGE_ENABLED', False) |
119 | e2447828 | Sofia Papagiannaki | |
120 | e2447828 | Sofia Papagiannaki | # Set the expiration time (in days) of email change requests
|
121 | 5ce3ce4f | Sofia Papagiannaki | EMAILCHANGE_ACTIVATION_DAYS = getattr(
|
122 | 5ce3ce4f | Sofia Papagiannaki | settings, 'ASTAKOS_EMAILCHANGE_ACTIVATION_DAYS', 10) |
123 | 111f3da6 | Sofia Papagiannaki | |
124 | c9e378c7 | Sofia Papagiannaki | # Set the astakos main functions logging severity (None to disable)
|
125 | 111f3da6 | Sofia Papagiannaki | from logging import INFO |
126 | ad956265 | Kostas Papadimitriou | LOGGING_LEVEL = getattr(settings, 'ASTAKOS_LOGGING_LEVEL', INFO) |
127 | fc1e2f02 | Sofia Papagiannaki | |
128 | d220292f | Sofia Papagiannaki | # Set how many objects should be displayed per page
|
129 | 3f3dc4b7 | Olga Brani | PAGINATE_BY = getattr(settings, 'ASTAKOS_PAGINATE_BY', 50) |
130 | f46c95c4 | Sofia Papagiannaki | |
131 | 5a3921a1 | Sofia Papagiannaki | # Set how many objects should be displayed per page in show all projects page
|
132 | 3f3dc4b7 | Olga Brani | PAGINATE_BY_ALL = getattr(settings, 'ASTAKOS_PAGINATE_BY_ALL', 50) |
133 | 59728d4e | Olga Brani | |
134 | f46c95c4 | Sofia Papagiannaki | # Enforce token renewal on password change/reset
|
135 | f46c95c4 | Sofia Papagiannaki | NEWPASSWD_INVALIDATE_TOKEN = getattr(
|
136 | cd1e1513 | root | settings, 'ASTAKOS_NEWPASSWD_INVALIDATE_TOKEN', True) |
137 | 3cbd5e47 | Olga Brani | |
138 | 80a30d20 | Kostas Papadimitriou | # Interval at which to update the user's available quota in astakos usage
|
139 | 80a30d20 | Kostas Papadimitriou | # profile view
|
140 | 80a30d20 | Kostas Papadimitriou | USAGE_UPDATE_INTERVAL = getattr(settings, 'ASTAKOS_USAGE_UPDATE_INTERVAL', |
141 | 80a30d20 | Kostas Papadimitriou | 5000)
|
142 | 3cbd5e47 | Olga Brani | |
143 | ef20ea07 | Sofia Papagiannaki | # Permit local account migration
|
144 | 8fb8d0cf | Giorgos Korfiatis | ENABLE_LOCAL_ACCOUNT_MIGRATION = getattr(
|
145 | 8fb8d0cf | Giorgos Korfiatis | settings, 'ASTAKOS_ENABLE_LOCAL_ACCOUNT_MIGRATION', True) |
146 | 1d59653f | Kostas Papadimitriou | |
147 | 6a80a0ae | Kostas Papadimitriou | # Migrate eppn identifiers to remote id
|
148 | 6a80a0ae | Kostas Papadimitriou | SHIBBOLETH_MIGRATE_EPPN = getattr(settings, 'ASTAKOS_SHIBBOLETH_MIGRATE_EPPN', |
149 | 6a80a0ae | Kostas Papadimitriou | False)
|
150 | 6a80a0ae | Kostas Papadimitriou | |
151 | 1d59653f | Kostas Papadimitriou | # Strict shibboleth usage
|
152 | 1d59653f | Kostas Papadimitriou | SHIBBOLETH_REQUIRE_NAME_INFO = getattr(settings,
|
153 | 1d59653f | Kostas Papadimitriou | 'ASTAKOS_SHIBBOLETH_REQUIRE_NAME_INFO',
|
154 | 1d59653f | Kostas Papadimitriou | False)
|
155 | 272cf735 | Sofia Papagiannaki | |
156 | 4991129c | Kostas Papadimitriou | default_activation_redirect_url = join_urls('/', BASE_PATH, VIEWS_PREFIX,
|
157 | 4991129c | Kostas Papadimitriou | "landing")
|
158 | 484a79a1 | Georgios D. Tsoukalas | ACTIVATION_REDIRECT_URL = getattr(settings, 'ASTAKOS_ACTIVATION_REDIRECT_URL', |
159 | 4991129c | Kostas Papadimitriou | default_activation_redirect_url) |
160 | 8e1a5af5 | Georgios D. Tsoukalas | |
161 | 469d0997 | Georgios D. Tsoukalas | # If true, this enables a ui compatibility layer for the introduction of UUIDs
|
162 | 8fb8d0cf | Giorgos Korfiatis | # in identity management. WARNING: Setting to True will break your installation
|
163 | 469d0997 | Georgios D. Tsoukalas | TRANSLATE_UUIDS = getattr(settings, 'ASTAKOS_TRANSLATE_UUIDS', False) |
164 | 469d0997 | Georgios D. Tsoukalas | |
165 | 8e1a5af5 | Georgios D. Tsoukalas | # Users that can approve or deny project applications from the web.
|
166 | 8e1a5af5 | Georgios D. Tsoukalas | PROJECT_ADMINS = getattr(settings, 'ASTAKOS_PROJECT_ADMINS', set()) |
167 | 5a3921a1 | Sofia Papagiannaki | |
168 | 5a3921a1 | Sofia Papagiannaki | # OAuth2 Twitter credentials.
|
169 | 5a3921a1 | Sofia Papagiannaki | TWITTER_TOKEN = getattr(settings, 'ASTAKOS_TWITTER_TOKEN', '') |
170 | 5a3921a1 | Sofia Papagiannaki | TWITTER_SECRET = getattr(settings, 'ASTAKOS_TWITTER_SECRET', '') |
171 | 8fb8d0cf | Giorgos Korfiatis | TWITTER_AUTH_FORCE_LOGIN = getattr(
|
172 | 8fb8d0cf | Giorgos Korfiatis | settings, 'ASTAKOS_TWITTER_AUTH_FORCE_LOGIN', False) |
173 | 5a3921a1 | Sofia Papagiannaki | |
174 | 5a3921a1 | Sofia Papagiannaki | # OAuth2 Google credentials.
|
175 | 5a3921a1 | Sofia Papagiannaki | GOOGLE_CLIENT_ID = getattr(settings, 'ASTAKOS_GOOGLE_CLIENT_ID', '') |
176 | 5a3921a1 | Sofia Papagiannaki | GOOGLE_SECRET = getattr(settings, 'ASTAKOS_GOOGLE_SECRET', '') |
177 | 5a3921a1 | Sofia Papagiannaki | |
178 | 5a3921a1 | Sofia Papagiannaki | # OAuth2 LinkedIn credentials.
|
179 | 5a3921a1 | Sofia Papagiannaki | LINKEDIN_TOKEN = getattr(settings, 'ASTAKOS_LINKEDIN_TOKEN', '') |
180 | 5a3921a1 | Sofia Papagiannaki | LINKEDIN_SECRET = getattr(settings, 'ASTAKOS_LINKEDIN_SECRET', '') |
181 | 398c10a2 | Kostas Papadimitriou | |
182 | 984fec93 | Kostas Papadimitriou | # URL to redirect the user after successful login when no next parameter is set
|
183 | 4991129c | Kostas Papadimitriou | default_success_url = join_urls('/', BASE_PATH, VIEWS_PREFIX, "landing") |
184 | 484a79a1 | Georgios D. Tsoukalas | LOGIN_SUCCESS_URL = getattr(settings, 'ASTAKOS_LOGIN_SUCCESS_URL', |
185 | 4991129c | Kostas Papadimitriou | default_success_url) |
186 | 984fec93 | Kostas Papadimitriou | |
187 | 984fec93 | Kostas Papadimitriou | # Whether or not to display projects in astakos menu
|
188 | 984fec93 | Kostas Papadimitriou | PROJECTS_VISIBLE = getattr(settings, 'ASTAKOS_PROJECTS_VISIBLE', False) |
189 | 0156e40c | Kostas Papadimitriou | |
190 | bea584e1 | Giorgos Korfiatis | # A way to extend the components presentation metadata
|
191 | bea584e1 | Giorgos Korfiatis | COMPONENTS_META = getattr(settings, 'ASTAKOS_COMPONENTS_META', {}) |
192 | 37d59b27 | Kostas Papadimitriou | |
193 | 37d59b27 | Kostas Papadimitriou | # A way to extend the resources presentation metadata
|
194 | 37d59b27 | Kostas Papadimitriou | RESOURCES_META = getattr(settings, 'ASTAKOS_RESOURCES_META', {}) |
195 | e7cb4085 | Kostas Papadimitriou | |
196 | e7cb4085 | Kostas Papadimitriou | # Do not require email verification for new users
|
197 | e7cb4085 | Kostas Papadimitriou | SKIP_EMAIL_VERIFICATION = getattr(settings,
|
198 | e7cb4085 | Kostas Papadimitriou | 'ASTAKOS_SKIP_EMAIL_VERIFICATION', False) |
199 | 7763f5c6 | Kostas Papadimitriou | |
200 | 7763f5c6 | Kostas Papadimitriou | # Kamaki download url. Displayed in api access view
|
201 | 7763f5c6 | Kostas Papadimitriou | API_CLIENT_URL = getattr(settings, 'ASTAKOS_API_CLIENT_URL', |
202 | 7763f5c6 | Kostas Papadimitriou | 'https://pypi.python.org/pypi/kamaki')
|
203 | 1ca02d1a | Kostas Papadimitriou | |
204 | 1ca02d1a | Kostas Papadimitriou | KAMAKI_CONFIG_CLOUD_NAME = getattr(settings,
|
205 | 1ca02d1a | Kostas Papadimitriou | 'ASTAKOS_KAMAKI_CONFIG_CLOUD_NAME',
|
206 | 1ca02d1a | Kostas Papadimitriou | None)
|
207 | 184f551f | Georgios D. Tsoukalas | |
208 | 184f551f | Georgios D. Tsoukalas | REDIRECT_ALLOWED_SCHEMES = getattr(settings,
|
209 | 184f551f | Georgios D. Tsoukalas | 'ASTAKOS_REDIRECT_ALLOWED_SCHEMES',
|
210 | abe6915b | Christos Stavrakakis | ('pithos', 'pithosdev')) |
211 | c8a38c0e | Christos Stavrakakis | |
212 | c8a38c0e | Christos Stavrakakis | ADMIN_STATS_PERMITTED_GROUPS = getattr(settings,
|
213 | c8a38c0e | Christos Stavrakakis | 'ASTAKOS_ADMIN_STATS_PERMITTED_GROUPS',
|
214 | c8a38c0e | Christos Stavrakakis | ['admin-stats'])
|
215 | af4d8c34 | Giorgos Korfiatis | |
216 | af4d8c34 | Giorgos Korfiatis | ENDPOINT_CACHE_TIMEOUT = getattr(settings,
|
217 | af4d8c34 | Giorgos Korfiatis | 'ASTAKOS_ENDPOINT_CACHE_TIMEOUT',
|
218 | af4d8c34 | Giorgos Korfiatis | 60)
|
219 | 56bbece7 | Giorgos Korfiatis | |
220 | 56bbece7 | Giorgos Korfiatis | RESOURCE_CACHE_TIMEOUT = getattr(settings,
|
221 | 56bbece7 | Giorgos Korfiatis | 'ASTAKOS_RESOURCE_CACHE_TIMEOUT',
|
222 | 56bbece7 | Giorgos Korfiatis | 60) |