Revision 27738c43 snf-cyclades-app/synnefo/ui/views.py
b/snf-cyclades-app/synnefo/ui/views.py | ||
---|---|---|
52 | 52 |
|
53 | 53 |
from snf_django.lib.astakos import get_user |
54 | 54 |
from synnefo import cyclades_settings |
55 |
from synnefo.ui import settings as uisettings |
|
55 | 56 |
|
56 | 57 |
SYNNEFO_JS_LIB_VERSION = get_component_version('app') |
57 |
PROXY_USER_SERVICES = getattr(settings, 'CYCLADES_PROXY_USER_SERVICES', True) |
|
58 |
|
|
59 |
|
|
60 |
# resolve astakos base url to be used by ui |
|
61 |
UI_ASTAKOS_BASE_HREF = cyclades_settings.ASTAKOS_BASE_URL |
|
62 |
if PROXY_USER_SERVICES: |
|
63 |
UI_ASTAKOS_BASE_HREF = \ |
|
64 |
'/' + cyclades_settings.BASE_ASTAKOS_PROXY_PATH.lstrip('/') |
|
65 |
|
|
66 |
UI_ASTAKOS_ACCOUNTS_HREF = join_urls(UI_ASTAKOS_BASE_HREF, |
|
67 |
cyclades_settings.ASTAKOS_ACCOUNTS_PREFIX) |
|
68 |
|
|
69 |
UI_ASTAKOS_VIEWS_HREF = join_urls(UI_ASTAKOS_BASE_HREF, |
|
70 |
cyclades_settings.ASTAKOS_VIEWS_PREFIX) |
|
71 |
|
|
72 |
UI_ASTAKOS_KEYSTONE_HREF = join_urls(UI_ASTAKOS_BASE_HREF, |
|
73 |
cyclades_settings.ASTAKOS_KEYSTONE_PREFIX) |
|
74 |
|
|
75 |
# api configuration |
|
76 |
api_path = join_urls(cyclades_settings.COMPUTE_PREFIX, 'v1.1').lstrip('/') |
|
77 |
api_path = '/' + join_urls(cyclades_settings.BASE_PATH, api_path).lstrip('/') |
|
78 |
COMPUTE_API_HREF = getattr(settings, 'COMPUTE_API_URL', api_path) |
|
79 | 58 |
|
80 | 59 |
# UI preferences settings |
81 | 60 |
TIMEOUT = getattr(settings, "TIMEOUT", 10000) |
... | ... | |
108 | 87 |
OS_CREATED_USERS = getattr(settings, "UI_OS_DEFAULT_USER_MAP") |
109 | 88 |
UNKNOWN_OS = getattr(settings, "UI_UNKNOWN_OS", "unknown") |
110 | 89 |
|
111 |
LOGOUT_PATH = join_urls(cyclades_settings.ASTAKOS_ACCOUNTS_PREFIX, |
|
112 |
getattr(settings, "UI_LOGOUT_PATH", 'authenticate')) |
|
113 |
LOGOUT_URL = join_urls(cyclades_settings.ASTAKOS_BASE_URL, LOGOUT_PATH) |
|
114 |
|
|
115 |
LOGIN_PATH = join_urls(cyclades_settings.ASTAKOS_VIEWS_PREFIX, |
|
116 |
getattr(settings, "UI_LOGIN_PATH", 'login')) |
|
117 |
LOGIN_URL = join_urls(cyclades_settings.ASTAKOS_BASE_URL, LOGIN_PATH) |
|
118 |
|
|
119 | 90 |
AUTH_COOKIE_NAME = getattr(settings, "UI_AUTH_COOKIE_NAME", 'synnefo_user') |
120 | 91 |
|
121 | 92 |
# UI behaviour settings |
... | ... | |
160 | 131 |
|
161 | 132 |
# extensions |
162 | 133 |
ENABLE_GLANCE = getattr(settings, 'UI_ENABLE_GLANCE', True) |
163 |
glance_path = join_urls(cyclades_settings.BASE_PATH, |
|
164 |
cyclades_settings.PLANKTON_PREFIX) |
|
165 |
glance_path = '/' + glance_path.lstrip('/') |
|
166 |
GLANCE_API_HREF = getattr(settings, 'UI_GLANCE_API_URL', glance_path) |
|
167 | 134 |
|
168 | 135 |
DIAGNOSTICS_UPDATE_INTERVAL = \ |
169 | 136 |
getattr(settings, 'UI_DIAGNOSTICS_UPDATE_INTERVAL', 2000) |
... | ... | |
195 | 162 |
GROUPED_PUBLIC_NETWORK_NAME = \ |
196 | 163 |
getattr(settings, 'UI_GROUPED_PUBLIC_NETWORK_NAME', 'Internet') |
197 | 164 |
|
198 |
USER_CATALOG_PATH = getattr(settings, 'UI_USER_CATALOG_PATH', 'user_catalogs') |
|
199 |
USER_CATALOG_HREF = join_urls(UI_ASTAKOS_ACCOUNTS_HREF, USER_CATALOG_PATH) |
|
200 |
|
|
201 |
FEEDBACK_POST_PATH = getattr(settings, 'UI_FEEDBACK_POST_PATH', 'feedback') |
|
202 |
FEEDBACK_POST_HREF = join_urls(UI_ASTAKOS_ACCOUNTS_HREF, FEEDBACK_POST_PATH) |
|
203 |
|
|
204 |
|
|
205 |
ACCOUNTS_API_VERSION = getattr(settings, 'UI_ACCOUNTS_API_VERSION', '') |
|
206 |
ACCOUNTS_API_HREF = join_urls(UI_ASTAKOS_ACCOUNTS_HREF, ACCOUNTS_API_VERSION) |
|
207 |
|
|
208 |
TRANSLATE_UUIDS = not getattr(settings, 'TRANSLATE_UUIDS', False) |
|
209 |
|
|
210 | 165 |
|
211 | 166 |
def template(name, request, context): |
212 | 167 |
template_path = os.path.join(os.path.dirname(__file__), "templates/") |
... | ... | |
231 | 186 |
'project': '+nefo', |
232 | 187 |
'request': request, |
233 | 188 |
'current_lang': get_language() or 'en', |
234 |
'compute_api_url': json.dumps(COMPUTE_API_HREF), |
|
235 |
'user_catalog_url': json.dumps(USER_CATALOG_HREF), |
|
236 |
'feedback_post_url': json.dumps(FEEDBACK_POST_HREF), |
|
237 |
'accounts_api_url': json.dumps(ACCOUNTS_API_HREF), |
|
238 |
'translate_uuids': json.dumps(TRANSLATE_UUIDS), |
|
189 |
'compute_api_url': json.dumps(uisettings.COMPUTE_URL), |
|
190 |
'user_catalog_url': json.dumps(uisettings.USER_CATALOG_URL), |
|
191 |
'feedback_post_url': json.dumps(uisettings.FEEDBACK_URL), |
|
192 |
'accounts_api_url': json.dumps(uisettings.ACCOUNTS_URL), |
|
193 |
'logout_redirect': json.dumps(uisettings.LOGOUT_REDIRECT), |
|
194 |
'login_redirect': json.dumps(uisettings.LOGIN_URL), |
|
195 |
'glance_api_url': json.dumps(uisettings.GLANCE_URL), |
|
196 |
'translate_uuids': json.dumps(True), |
|
239 | 197 |
# update interval settings |
240 | 198 |
'update_interval': UPDATE_INTERVAL, |
241 | 199 |
'update_interval_increase': UPDATE_INTERVAL_INCREASE, |
... | ... | |
245 | 203 |
'update_interval_max': UPDATE_INTERVAL_MAX, |
246 | 204 |
'changes_since_alignment': CHANGES_SINCE_ALIGNMENT, |
247 | 205 |
'image_icons': IMAGE_ICONS, |
248 |
'logout_redirect': LOGOUT_URL, |
|
249 |
'login_redirect': LOGIN_URL, |
|
250 | 206 |
'auth_cookie_name': AUTH_COOKIE_NAME, |
251 | 207 |
'suggested_flavors': json.dumps(SUGGESTED_FLAVORS), |
252 | 208 |
'suggested_roles': json.dumps(SUGGESTED_ROLES), |
... | ... | |
264 | 220 |
'os_created_users': json.dumps(OS_CREATED_USERS), |
265 | 221 |
'userdata_keys_limit': json.dumps(MAX_SSH_KEYS_PER_USER), |
266 | 222 |
'use_glance': json.dumps(ENABLE_GLANCE), |
267 |
'glance_api_url': json.dumps(GLANCE_API_HREF), |
|
268 | 223 |
'system_images_owners': json.dumps(SYSTEM_IMAGES_OWNERS), |
269 | 224 |
'custom_image_help_url': CUSTOM_IMAGE_HELP_URL, |
270 | 225 |
'image_deleted_title': json.dumps(IMAGE_DELETED_TITLE), |
Also available in: Unified diff