From 53b539d2fcc82c497ef9e1c4b413fdc51b95feab Mon Sep 17 00:00:00 2001 From: eric Date: Fri, 8 Jul 2016 15:58:22 -0600 Subject: [PATCH] Improve overview buttons This makes button use a more standard UX pattern. Change-Id: I8cac9f4653f6fcce0e0d4a08e815d3b1f1eaedae --- .../overview/templates/overview/index.html | 16 ++++----- .../overview/templates/overview/monitor.html | 12 ++----- monitoring/overview/views.py | 36 +++++++++---------- .../static/monitoring/js/controllers.js | 16 --------- monitoring/test/settings.py | 23 +----------- 5 files changed, 30 insertions(+), 73 deletions(-) diff --git a/monitoring/overview/templates/overview/index.html b/monitoring/overview/templates/overview/index.html index 5655a704..6013adf0 100644 --- a/monitoring/overview/templates/overview/index.html +++ b/monitoring/overview/templates/overview/index.html @@ -9,27 +9,27 @@ {% block main %}
{% if grafana_url %} - - + + Grafana Home {% for dashboard in dashboards %} - - + + {% trans dashboard.title %} {% endfor %} {% else %} {% for dashboard in dashboards %} - - + + {% trans dashboard.title %} {% endfor %} {% endif %} {% if can_access_logs and enable_kibana_button %} - - + + Log Management {% endif %} diff --git a/monitoring/overview/templates/overview/monitor.html b/monitoring/overview/templates/overview/monitor.html index 8fdf4fb4..24292cd7 100644 --- a/monitoring/overview/templates/overview/monitor.html +++ b/monitoring/overview/templates/overview/monitor.html @@ -59,15 +59,9 @@
- diff --git a/monitoring/overview/views.py b/monitoring/overview/views.py index d7a12e5b..805f4c39 100644 --- a/monitoring/overview/views.py +++ b/monitoring/overview/views.py @@ -39,29 +39,27 @@ from monitoring.overview import constants LOG = logging.getLogger(__name__) +STATUS_FA_ICON_MAP = {'btn-success': "fa-check", + 'btn-danger': "fa-exclamation-triangle", + 'btn-warning': "fa-exclamation", + 'btn-default': "fa-question-circle"} + + def get_icon(status): - if status == 'chicklet-success': - return constants.OK_ICON - if status == 'chicklet-error': - return constants.CRITICAL_ICON - if status == 'chicklet-warning': - return constants.WARNING_ICON - if status == 'chicklet-unknown': - return constants.UNKNOWN_ICON - if status == 'chicklet-notfound': - return constants.NOTFOUND_ICON + return STATUS_FA_ICON_MAP.get(status, "fa-question-circle") priorities = [ - {'status': 'chicklet-success', 'severity': 'OK'}, - {'status': 'chicklet-unknown', 'severity': 'UNDETERMINED'}, - {'status': 'chicklet-warning', 'severity': 'LOW'}, - {'status': 'chicklet-warning', 'severity': 'MEDIUM'}, - {'status': 'chicklet-warning', 'severity': 'HIGH'}, - {'status': 'chicklet-error', 'severity': 'CRITICAL'}, + {'status': 'btn-success', 'severity': 'OK'}, + {'status': 'btn-default', 'severity': 'UNDETERMINED'}, + {'status': 'btn-warning', 'severity': 'LOW'}, + {'status': 'btn-warning', 'severity': 'MEDIUM'}, + {'status': 'btn-warning', 'severity': 'HIGH'}, + {'status': 'btn-danger', 'severity': 'CRITICAL'}, ] index_by_severity = {d['severity']: i for i, d in enumerate(priorities)} + def get_dashboard_links(request): # # GRAFANA_LINKS is a list of dictionaries, but can either @@ -77,7 +75,7 @@ def get_dashboard_links(request): # # See examples of both in local_settings.py # - non_project_keys = {'fileName','title'} + non_project_keys = {'fileName', 'title'} try: for project_link in settings.DASHBOARDS: key = project_link.keys()[0] @@ -111,6 +109,7 @@ def get_dashboard_links(request): # return settings.DASHBOARDS + def get_monitoring_services(request): # # GRAFANA_LINKS is a list of dictionaries, but can either @@ -160,6 +159,7 @@ def get_monitoring_services(request): # return settings.MONITORING_SERVICES + def show_by_dimension(data, dim_name): if 'dimensions' in data['metrics'][0]: dimensions = data['metrics'][0]['dimensions'] @@ -270,7 +270,7 @@ class MonascaProxyView(TemplateView): # dimension for all metrics (mini-mon for one). # if 'region' in dim_dict and dim_dict['region'] == 'INJECT_REGION': - dim_dict['region'] = self.request.user.services_region + dim_dict['region'] = self.request.user.services_region req_kwargs['dimensions'] = dim_dict return req_kwargs diff --git a/monitoring/static/monitoring/js/controllers.js b/monitoring/static/monitoring/js/controllers.js index 08e520aa..6908b2ba 100644 --- a/monitoring/static/monitoring/js/controllers.js +++ b/monitoring/static/monitoring/js/controllers.js @@ -108,14 +108,6 @@ angular.module('monitoring.controllers', []) success(function(data, status, headers, config) { // this callback will be called asynchronously // when the response is available - var i; - for (i=0; i < data.series.length; i++) { - var group = data.series[i]; - for (var j in group.services) { - var service = group.services[j]; - service.icon = getIcon(service.class); - } - } $scope._serviceModel = data.series; }). error(function(data, status, headers, config) { @@ -124,14 +116,6 @@ angular.module('monitoring.controllers', []) }; - function getIcon(status) { - var url_suffix = CHICKLET_TO_ICON[status]; - if(url_suffix){ - return base_url + url_suffix; - } - return undefined; - } - $scope.onTimeout = function(){ mytimeout = $timeout($scope.onTimeout,10000); $scope.fetchStatus(); diff --git a/monitoring/test/settings.py b/monitoring/test/settings.py index 0f020b95..7dd27bf1 100644 --- a/monitoring/test/settings.py +++ b/monitoring/test/settings.py @@ -18,20 +18,9 @@ from django.utils.translation import ugettext_lazy as _ # noqa from horizon.test.settings import * # noqa from horizon.utils import secret_key as secret_key_utils +from openstack_dashboard.test.settings import * # noqa -DEBUG = True -TEMPLATE_DEBUG = DEBUG -TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -ROOT_PATH = os.path.abspath(os.path.join(TEST_DIR, "..")) - -MEDIA_ROOT = os.path.abspath(os.path.join(ROOT_PATH, '..', 'media')) -MEDIA_URL = '/media/' -STATIC_ROOT = os.path.abspath(os.path.join(ROOT_PATH, '..', 'static')) -STATIC_URL = '/static/' - -SECRET_KEY = secret_key_utils.generate_or_read_from_file( - os.path.join(TEST_DIR, '.secret_key_store')) ROOT_URLCONF = 'monitoring.test.urls' TEMPLATE_DIRS = ( os.path.join(TEST_DIR, 'templates'), @@ -140,13 +129,3 @@ NOSE_ARGS = ['--nocapture', '--cover-package=monitoring', '--cover-inclusive', '--all-modules'] - -TUSKAR_ENDPOINT_URL = "http://127.0.0.1:8585" - -OVERCLOUD_CREDS = { - 'enabled': True, - 'user': 'admin', - 'password': 'password', - 'tenant': 'admin', - 'auth_url': 'http://localhost:5000/v2.0/', -}