Add setting for user menu links
* User menu links can be specified in the settings page * Defaults to the standard Open RC links (bug and help links are not modified in this patch) * Url, name and icon can all be specified Change-Id: I3cbcfbf06ede18d468d4c611ad6005cb74f1b284 Closes-Bug: 1736048
This commit is contained in:
parent
091121b10f
commit
924239073e
@ -897,6 +897,45 @@ Default: ``"theme"``
|
||||
This setting tells Horizon in which cookie key to store the currently
|
||||
set theme. The cookie expiration is currently set to a year.
|
||||
|
||||
USER_MENU_LINKS
|
||||
-----------------
|
||||
|
||||
.. versionadded:: 13.0.0(Queens)
|
||||
|
||||
Default::
|
||||
|
||||
[
|
||||
{'name': _('OpenStack RC File v2'),
|
||||
'icon_classes': ['fa-download', ],
|
||||
'url': 'horizon:project:api_access:openrcv2',
|
||||
'external': False,
|
||||
},
|
||||
{'name': _('OpenStack RC File v3'),
|
||||
'icon_classes': ['fa-download', ],
|
||||
'url': 'horizon:project:api_access:openrc',
|
||||
'external': False,
|
||||
}
|
||||
]
|
||||
|
||||
This setting controls the additional links on the user drop down menu.
|
||||
A list of dictionaries defining all of the links should be provided. This
|
||||
defaults to the standard OpenStack RC files.
|
||||
|
||||
Each dictionary should contain these values:
|
||||
|
||||
name
|
||||
The name of the link
|
||||
|
||||
url
|
||||
Either the reversible Django url name or an absolute url
|
||||
|
||||
external
|
||||
True for absolute URLs, False for django urls.
|
||||
|
||||
icon_classes
|
||||
A list of classes for the icon next to the link. If 'None' or
|
||||
an empty list is provided a download icon will show
|
||||
|
||||
WEBROOT
|
||||
-------
|
||||
|
||||
|
@ -86,6 +86,15 @@ def openstack(request):
|
||||
# Adding webroot access
|
||||
context['WEBROOT'] = getattr(settings, "WEBROOT", "/")
|
||||
|
||||
user_menu_links = getattr(settings, "USER_MENU_LINKS", [])
|
||||
|
||||
if not getattr(settings, "SHOW_V2_KEYSTONE_RC", True):
|
||||
user_menu_links = [
|
||||
link for link in user_menu_links
|
||||
if 'horizon:project:api_access:openrcv2' != link['url']]
|
||||
|
||||
context['USER_MENU_LINKS'] = user_menu_links
|
||||
|
||||
# Adding profiler support flag
|
||||
profiler_settings = getattr(settings, 'OPENSTACK_PROFILER', {})
|
||||
profiler_enabled = profiler_settings.get('enabled', False)
|
||||
@ -97,7 +106,6 @@ def openstack(request):
|
||||
hmac_keys, parent_id=index_view_id)
|
||||
|
||||
context['JS_CATALOG'] = get_js_catalog(conf)
|
||||
context['SHOW_KEYSTONE_V2_RC'] = settings.SHOW_KEYSTONE_V2_RC
|
||||
|
||||
return context
|
||||
|
||||
|
@ -291,6 +291,17 @@ SECURITY_GROUP_RULES = {
|
||||
|
||||
ADD_INSTALLED_APPS = []
|
||||
|
||||
USER_MENU_LINKS = [
|
||||
{'name': _('OpenStack RC File v2'),
|
||||
'icon_classes': ['fa-download', ],
|
||||
'url': 'horizon:project:api_access:openrcv2'
|
||||
},
|
||||
{'name': _('OpenStack RC File v3'),
|
||||
'icon_classes': ['fa-download', ],
|
||||
'url': 'horizon:project:api_access:openrc'
|
||||
}
|
||||
]
|
||||
|
||||
# Deprecated Theme Settings
|
||||
CUSTOM_THEME_PATH = None
|
||||
DEFAULT_THEME_PATH = None
|
||||
|
@ -34,20 +34,26 @@
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if SHOW_KEYSTONE_V2_RC %}
|
||||
|
||||
{% for link in USER_MENU_LINKS %}
|
||||
<li>
|
||||
<a href="{% url 'horizon:project:api_access:openrcv2' %}">
|
||||
<span class="fa fa-download"></span>
|
||||
{% trans "OpenStack RC File v2" %}
|
||||
{% if link.external %}
|
||||
<a href="{{ link.url }}">
|
||||
{% else %}
|
||||
<a href="{% url link.url %}">
|
||||
{% endif %}
|
||||
|
||||
{% if link.icon_classes %}
|
||||
<span class="fa {{ link.icon_classes | join:" "}}"></span>
|
||||
{% else %}
|
||||
<span class="fa fa-download"></span>
|
||||
{% endif %}
|
||||
{{ link.name }}
|
||||
</a>
|
||||
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a href="{% url 'horizon:project:api_access:openrc' %}">
|
||||
<span class="fa fa-download"></span>
|
||||
{% trans "OpenStack RC File v3" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
|
||||
{% themes as available_themes %}
|
||||
{% if available_themes and available_themes|length > 1 %}
|
||||
<li class="divider"></li>
|
||||
|
Loading…
Reference in New Issue
Block a user