Add ANGULAR_FEATURES setting dict
We should unify the angular features (new panels, workflows, etc.) in a single setting. This also makes it a little cleaner to read, simply using the 'truthiness' of a key rather than string comparisons. I haven't moved the 'swift_panel' setting, as that panel will be removed in the O cycle anway, so it seems pointless to move a setting causing potential issues for a single cycle. Change-Id: Ia5702ff523355ae895e14cc3d49c895128478944
This commit is contained in:
parent
75427ad7f9
commit
1050755d05
@ -180,18 +180,6 @@ A dictionary containing classes of exceptions which Horizon's centralized
|
||||
exception handling should be aware of. Based on these exception categories,
|
||||
Horizon will handle the exception and display a message to the user.
|
||||
|
||||
``images_panel``
|
||||
-----------
|
||||
|
||||
.. versionadded:: 10.0.0(Newton)
|
||||
|
||||
Default: ``legacy``
|
||||
|
||||
There are currently two panel types that may be specified: ``legacy`` and
|
||||
``angular``. ``legacy`` will display the Python-based (server-side) Images
|
||||
panel and ``angular`` will display the Angular-based (client-side) Images
|
||||
panel.
|
||||
|
||||
``modal_backdrop``
|
||||
------------------
|
||||
|
||||
@ -434,6 +422,23 @@ This example sorts flavors by vcpus in descending order::
|
||||
'reverse': True,
|
||||
}
|
||||
|
||||
.. _angular_features:
|
||||
|
||||
``ANGULAR_FEATURES``
|
||||
--------------------
|
||||
|
||||
.. versionadded:: 10.0.0(Newton)
|
||||
|
||||
Default::
|
||||
|
||||
{
|
||||
'images_panel': False
|
||||
}
|
||||
|
||||
A dictionary of currently available AngularJS features. This allows simple
|
||||
toggling of legacy or rewritten features, such as new panels, workflows etc.
|
||||
|
||||
|
||||
.. _available_themes:
|
||||
|
||||
``AVAILABLE_THEMES``
|
||||
|
@ -21,7 +21,7 @@ from django.conf.urls import url
|
||||
|
||||
from openstack_dashboard.dashboards.admin.images import views
|
||||
|
||||
if settings.HORIZON_CONFIG['images_panel'] == 'angular':
|
||||
if settings.ANGULAR_FEATURES['images_panel']:
|
||||
# New angular images
|
||||
urlpatterns = [
|
||||
url(r'^$', views.AngularIndexView.as_view(), name='index'),
|
||||
|
@ -23,7 +23,7 @@ from openstack_dashboard.dashboards.project.images.images import views
|
||||
from openstack_dashboard.dashboards.project.images import views as imgviews
|
||||
|
||||
|
||||
if settings.HORIZON_CONFIG['images_panel'] == 'angular':
|
||||
if settings.ANGULAR_FEATURES['images_panel']:
|
||||
urlpatterns = [
|
||||
url(r'^(?P<image_id>[^/]+)/$', imgviews.AngularIndexView.as_view(),
|
||||
name='detail'),
|
||||
|
@ -27,7 +27,7 @@ from openstack_dashboard.dashboards.project.images.snapshots \
|
||||
from openstack_dashboard.dashboards.project.images import views
|
||||
|
||||
|
||||
if settings.HORIZON_CONFIG['images_panel'] == 'angular':
|
||||
if settings.ANGULAR_FEATURES['images_panel']:
|
||||
# New angular images
|
||||
urlpatterns = [
|
||||
url(r'^$', views.AngularIndexView.as_view(), name='index'),
|
||||
|
@ -2,5 +2,4 @@
|
||||
# wanting to only test legacy panels. Since 'local' modules are evaluated
|
||||
# after settings.py, these configurations will override the default settings.
|
||||
|
||||
HORIZON_CONFIG.update({"images_panel": "legacy"})
|
||||
HORIZON_CONFIG.update({"flavors_panel": "legacy"})
|
||||
ANGULAR_FEATURES.update({"images_panel": False})
|
@ -79,7 +79,6 @@ HORIZON_CONFIG = {
|
||||
'js_spec_files': [],
|
||||
'external_templates': [],
|
||||
'plugins': [],
|
||||
'images_panel': 'legacy',
|
||||
'integration_tests_support': INTEGRATION_TESTS_SUPPORT
|
||||
}
|
||||
|
||||
@ -298,6 +297,11 @@ CSRF_COOKIE_AGE = None
|
||||
|
||||
COMPRESS_OFFLINE_CONTEXT = 'horizon.themes.offline_context'
|
||||
|
||||
# Dictionary of currently available angular features
|
||||
ANGULAR_FEATURES = {
|
||||
'images_panel': False,
|
||||
}
|
||||
|
||||
# Notice all customizable configurations should be above this line
|
||||
try:
|
||||
from local.local_settings import * # noqa
|
||||
|
@ -96,7 +96,10 @@ HORIZON_CONFIG = {
|
||||
'unauthorized': exceptions.UNAUTHORIZED},
|
||||
'angular_modules': [],
|
||||
'js_files': [],
|
||||
'images_panel': 'legacy',
|
||||
}
|
||||
|
||||
ANGULAR_FEATURES = {
|
||||
'images_panel': False # Use the legacy panel so unit tests are still run
|
||||
}
|
||||
|
||||
# Load the pluggable dashboard settings
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- Added a new ``ANGULAR FEATURES`` dictionary to the settings.
|
||||
This allows simple toggling of new AngularJS features.
|
@ -1,11 +1,12 @@
|
||||
---
|
||||
prelude: >
|
||||
The Image panel now may be configured to use
|
||||
The Images panel now may be configured to use
|
||||
either the legacy or Angular code.
|
||||
features:
|
||||
- HORIZON_CONFIG now allows for a key 'images_panel' to be
|
||||
specified as 'legacy' or 'angular' indicating the type of
|
||||
panel to use.
|
||||
- the ``ANGULAR_FEATURES`` setting now allows for a key
|
||||
``images_panel``. If set to ``True``, then the Angular
|
||||
Images panel will be used, while the Python version will
|
||||
be used if set to ``False``.
|
||||
- Integration tests for Image features may also be toggled
|
||||
in openstack_dashboard/test/integration_tests/horizon.conf
|
||||
using the 'panel_type' feature, either set to 'legacy' or
|
||||
|
Loading…
Reference in New Issue
Block a user