Revision fc764443

b/snf-pithos-webclient/pithos_webclient/settings.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
from django.conf import settings
35
from synnefo.lib import join_urls, parse_base_url
36
from synnefo.util.keypath import get_path
37
from pithos_webclient.services import pithos_services
38
from astakosclient import astakos_services
35 39

  
36
# !!!!!ATTENTION!!!!!
37
# loginUrl MUST end at "next=". You should not give the value of the next
38
# parameter. It will be determined automatically
39
LOGIN_URL = getattr(settings, 'PITHOS_UI_LOGIN_URL',
40
                    'https://accounts.synnefo.org/astakos/im/login?next=')
40
from copy import deepcopy
41

  
42
# Process Pithos settings. This code is shared between snf-pithos-app and
43
# snf-pithos-webclient since they share the PITHOS_ settings prefix for most
44
# of their settings.
45

  
46
# Top-level URL for Pithos. Must set.
47
BASE_URL = getattr(settings, 'PITHOS_BASE_URL',
48
                   "https://object-store.example.synnefo.org/pithos/")
49

  
50
BASE_HOST, BASE_PATH = parse_base_url(BASE_URL)
51

  
52
# Process Astakos settings
53
ASTAKOS_BASE_URL = getattr(settings, 'ASTAKOS_BASE_URL',
54
                           'https://accounts.example.synnefo.org/astakos/')
55
ASTAKOS_BASE_HOST, ASTAKOS_BASE_PATH = parse_base_url(ASTAKOS_BASE_URL)
56

  
57
PITHOS_PREFIX = get_path(pithos_services, 'pithos_object-store.prefix')
58
PUBLIC_PREFIX = get_path(pithos_services, 'pithos_public.prefix')
59
UI_PREFIX = get_path(pithos_services, 'pithos_ui.prefix')
60

  
61
CUSTOMIZE_ASTAKOS_SERVICES = \
62
        getattr(settings, 'PITHOS_CUSTOMIZE_ASTAKOS_SERVICES', ())
63
for path, value in CUSTOMIZE_ASTAKOS_SERVICES:
64
    set_path(astakos_services, path, value, createpath=True)
65

  
66
ASTAKOS_ACCOUNTS_PREFIX = get_path(astakos_services, 'astakos_account.prefix')
67
ASTAKOS_VIEWS_PREFIX = get_path(astakos_services, 'astakos_ui.prefix')
68
ASTAKOS_KEYSTONE_PREFIX = get_path(astakos_services, 'astakos_keystone.prefix')
69

  
70
BASE_ASTAKOS_PROXY_PATH = getattr(settings, 'PITHOS_BASE_ASTAKOS_PROXY_PATH',
71
                                  ASTAKOS_BASE_PATH)
72

  
73
PROXY_USER_SERVICES = getattr(settings, 'PITHOS_PROXY_USER_SERVICES', True)
74

  
75
# Base settings set. Resolve webclient required settings
76
ASTAKOS_ACCOUNTS_URL = join_urls(ASTAKOS_BASE_URL, ASTAKOS_ACCOUNTS_PREFIX)
77
if PROXY_USER_SERVICES:
78
    ASTAKOS_ACCOUNTS_URL = join_urls('/', BASE_ASTAKOS_PROXY_PATH,
79
                                     ASTAKOS_ACCOUNTS_PREFIX)
80

  
81

  
82
if not BASE_PATH.startswith("/"):
83
    BASE_PATH = "/" + BASE_PATH
84

  
85
ACCOUNTS_URL = getattr(settings, 'PITHOS_UI_ACCOUNTS_URL',
86
                       join_urls(ASTAKOS_ACCOUNTS_URL))
87
USER_CATALOG_URL = getattr(settings, 'PITHOS_UI_USER_CATALOG_URL',
88
                           join_urls(ACCOUNTS_URL, 'user_catalogs'))
41 89
FEEDBACK_URL = getattr(settings, 'PITHOS_UI_FEEDBACK_URL',
42
                       'https://accounts.synnefo.org/astakos/im/feedback')
90
                       join_urls(ACCOUNTS_URL, 'feedback'))
91
PITHOS_URL = getattr(settings, 'PITHOS_UI_PITHOS_URL',
92
                      join_urls(BASE_PATH, PITHOS_PREFIX, 'v1'))
43 93
AUTH_COOKIE_NAME = getattr(settings, 'PITHOS_UI_AUTH_COOKIE_NAME',
44 94
                           '_pithos2_a')
45
CLOUDBAR_ACTIVE_SERVICE = getattr(settings,
46
                                  'PITHOS_UI_CLOUDBAR_ACTIVE_SERVICE',
47
                                  'pithos')
95

  
96
DEFAULT_LOGIN_URL = join_urls(ASTAKOS_BASE_URL, ASTAKOS_VIEWS_PREFIX, 'login')
97
LOGIN_URL = getattr(settings, 'PITHOS_UI_LOGIN_URL', DEFAULT_LOGIN_URL)
98
CLOUDBAR_ACTIVE_SERVICE = getattr(
99
    settings,
100
    'PITHOS_UI_CLOUDBAR_ACTIVE_SERVICE',
101
    'pithos')
b/snf-pithos-webclient/pithos_webclient/synnefo_settings.py
49 49
# namespace
50 50
from django.conf.urls.defaults import include, patterns
51 51
urlpatterns = patterns('',
52
    (r'^ui/$', 'pithos_webclient.views.index'),
53
    (r'^ui/index.html$', 'pithos_webclient.views.index'),
52
    ('', include('pithos_webclient.urls')),
54 53
)
b/snf-pithos-webclient/pithos_webclient/urls.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
from django.conf.urls.defaults import include, patterns
35
from pithos_webclient import settings
36
from snf_django.lib.api.utils import prefix_pattern
37
from synnefo.lib import join_urls
35 38

  
36 39

  
37 40
urlpatterns = patterns('',
38
    (r'^$', 'pithos_webclient.views.index')
41
    (prefix_pattern(join_urls(settings.BASE_PATH, settings.UI_PREFIX)),
42
     'pithos_webclient.views.index'),
39 43
)
40

  
b/snf-pithos-webclient/pithos_webclient/views.py
44 44
        getattr(django_settings, "MEDIA_URL", "/static/"))
45 45

  
46 46
URLS_CONFIG = {
47
    'STORAGE_API_URL': '/v1',
48
    'USER_CATALOGS_API_URL': '/user_catalog'
47
    'STORAGE_API_URL': settings.PITHOS_URL.rstrip('/') + '/',
48
    'USER_CATALOGS_API_URL': settings.USER_CATALOG_URL.rstrip('/') + '/',
49
    'loginUrl': settings.LOGIN_URL,
50
    'feedbackUrl': settings.FEEDBACK_URL
49 51
}
50 52

  
51 53

  

Also available in: Unified diff