Revision e3ff6830 snf-cyclades-app/synnefo/ui/views.py

b/snf-cyclades-app/synnefo/ui/views.py
34 34

  
35 35
import os
36 36

  
37
from urlparse import urlparse
38

  
37 39
from django.conf import settings
38 40
from django.utils.translation import gettext_lazy as _
39 41
from django.template import loader
......
49 51
from synnefo.lib import join_urls
50 52

  
51 53
from snf_django.lib.astakos import get_user
54
from synnefo import cyclades_settings
52 55

  
53 56
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)
54 74

  
55 75
# api configuration
56
COMPUTE_API_URL = getattr(settings, 'COMPUTE_API_URL', '/api/v1.1')
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)
57 79

  
58 80
# UI preferences settings
59 81
TIMEOUT = getattr(settings, "TIMEOUT", 10000)
60 82
UPDATE_INTERVAL = getattr(settings, "UI_UPDATE_INTERVAL", 5000)
61 83
CHANGES_SINCE_ALIGNMENT = getattr(settings, "UI_CHANGES_SINCE_ALIGNMENT", 0)
62
UPDATE_INTERVAL_INCREASE = getattr(settings, "UI_UPDATE_INTERVAL_INCREASE", 500)
84
UPDATE_INTERVAL_INCREASE = getattr(settings, "UI_UPDATE_INTERVAL_INCREASE",
85
                                   500)
63 86
UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT = \
64 87
    getattr(settings, "UI_UPDATE_INTERVAL_INCREASE_AFTER_CALLS_COUNT", 3)
65 88
UPDATE_INTERVAL_FAST = getattr(settings, "UI_UPDATE_INTERVAL_FAST", 2500)
......
84 107
SUPPORT_SSH_OS_LIST = getattr(settings, "UI_SUPPORT_SSH_OS_LIST",)
85 108
OS_CREATED_USERS = getattr(settings, "UI_OS_DEFAULT_USER_MAP")
86 109
UNKNOWN_OS = getattr(settings, "UI_UNKNOWN_OS", "unknown")
87
LOGOUT_URL = getattr(settings, "UI_LOGOUT_URL", '/im/authenticate')
88
LOGIN_URL = getattr(settings, "UI_LOGIN_URL", '/im/login')
110

  
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

  
89 119
AUTH_COOKIE_NAME = getattr(settings, "UI_AUTH_COOKIE_NAME", 'synnefo_user')
90 120

  
91 121
# UI behaviour settings
......
130 160

  
131 161
# extensions
132 162
ENABLE_GLANCE = getattr(settings, 'UI_ENABLE_GLANCE', True)
133
GLANCE_API_URL = getattr(settings, 'UI_GLANCE_API_URL', '/glance')
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
DIAGNOSTICS_UPDATE_INTERVAL = \
135 169
    getattr(settings, 'UI_DIAGNOSTICS_UPDATE_INTERVAL', 2000)
136 170

  
......
161 195
GROUPED_PUBLIC_NETWORK_NAME = \
162 196
    getattr(settings, 'UI_GROUPED_PUBLIC_NETWORK_NAME', 'Internet')
163 197

  
164
ASTAKOS_BASE_URL = '/'
165
ASTAKOS_API_URL = join_urls(ASTAKOS_BASE_URL, 'astakos/api')
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)
166 207

  
167
USER_CATALOG_URL = getattr(settings, 'UI_USER_CATALOG_URL',
168
                           join_urls(ASTAKOS_API_URL, 'user_catalogs'))
169
FEEDBACK_POST_URL = getattr(settings, 'UI_FEEDBACK_POST_URL',
170
                            join_urls(ASTAKOS_API_URL, 'feedback'))
171
ACCOUNTS_API_URL = getattr(settings, 'UI_ACCOUNTS_API_URL', ASTAKOS_API_URL)
172 208
TRANSLATE_UUIDS = not getattr(settings, 'TRANSLATE_UUIDS', False)
173 209

  
174 210

  
......
195 231
               'project': '+nefo',
196 232
               'request': request,
197 233
               'current_lang': get_language() or 'en',
198
               'compute_api_url': json.dumps(COMPUTE_API_URL),
199
               'user_catalog_url': json.dumps(USER_CATALOG_URL),
200
               'feedback_post_url': json.dumps(FEEDBACK_POST_URL),
201
               'accounts_api_url': json.dumps(ACCOUNTS_API_URL),
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),
202 238
               'translate_uuids': json.dumps(TRANSLATE_UUIDS),
203 239
               # update interval settings
204 240
               'update_interval': UPDATE_INTERVAL,
......
228 264
               'os_created_users': json.dumps(OS_CREATED_USERS),
229 265
               'userdata_keys_limit': json.dumps(MAX_SSH_KEYS_PER_USER),
230 266
               'use_glance': json.dumps(ENABLE_GLANCE),
231
               'glance_api_url': json.dumps(GLANCE_API_URL),
267
               'glance_api_url': json.dumps(GLANCE_API_HREF),
232 268
               'system_images_owners': json.dumps(SYSTEM_IMAGES_OWNERS),
233 269
               'custom_image_help_url': CUSTOM_IMAGE_HELP_URL,
234 270
               'image_deleted_title': json.dumps(IMAGE_DELETED_TITLE),

Also available in: Unified diff