Add service overview to service page in "Service Catalog"
Remane "Manage Files" btn to "Manage Service" Change-Id: I2460ccd5d3c49f87ee453a976823b88f493641be
This commit is contained in:
parent
1bc78130a9
commit
363d3ec4c1
|
@ -112,10 +112,10 @@ class DeleteService(tables.DeleteAction):
|
|||
redirect='horizon:murano:service_catalog:index')
|
||||
|
||||
|
||||
class ManageServiceFiles(tables.LinkAction):
|
||||
name = 'manage_service_files'
|
||||
verbose_name = _('Manage Files')
|
||||
url = 'horizon:murano:service_catalog:manage_service_files'
|
||||
class ManageService(tables.LinkAction):
|
||||
name = 'manage_service'
|
||||
verbose_name = _('Manage Service')
|
||||
url = 'horizon:murano:service_catalog:manage_service'
|
||||
|
||||
def allowed(self, request, environment):
|
||||
return True
|
||||
|
@ -151,7 +151,7 @@ class ServiceCatalogTable(tables.DataTable):
|
|||
ManageFiles)
|
||||
|
||||
row_actions = (ModifyService,
|
||||
ManageServiceFiles,
|
||||
ManageService,
|
||||
DownloadService,
|
||||
ToggleEnabled,
|
||||
DeleteService)
|
||||
|
|
|
@ -17,7 +17,7 @@ from django.conf.urls import patterns, url
|
|||
from .views import ServiceCatalogView
|
||||
from .views import UploadServiceView
|
||||
from .views import ComposeServiceView
|
||||
from .views import ManageServiceFilesView
|
||||
from .views import ManageServiceView
|
||||
from .views import ManageFilesView
|
||||
from .views import UploadFileView
|
||||
|
||||
|
@ -34,8 +34,8 @@ urlpatterns = patterns(
|
|||
name='upload_file'),
|
||||
#This should goes first
|
||||
url(r'^manage_files/(?P<full_service_name>[^/]+)?$',
|
||||
ManageServiceFilesView.as_view(),
|
||||
name='manage_service_files'),
|
||||
ManageServiceView.as_view(),
|
||||
name='manage_service'),
|
||||
|
||||
url(r'^manage_files', ManageFilesView.as_view(),
|
||||
name='manage_files'),
|
||||
|
|
|
@ -17,6 +17,7 @@ from functools import wraps
|
|||
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.datastructures import SortedDict
|
||||
from horizon import exceptions
|
||||
from horizon import tables
|
||||
from horizon.workflows import WorkflowView
|
||||
|
@ -142,17 +143,52 @@ class UploadFileView(ModalFormView):
|
|||
success_url = reverse_lazy('horizon:murano:service_catalog:manage_files')
|
||||
|
||||
|
||||
class ManageServiceFilesView(tables.MultiTableView):
|
||||
class ManageServiceView(tables.MultiTableView):
|
||||
table_classes = tuple([define_tables(name, step_verbose_name)
|
||||
for (name, step_verbose_name) in STEP_NAMES])
|
||||
template_name = 'service_catalog/service_files.html'
|
||||
failure_url = reverse_lazy('horizon:murano:service_catalog:index')
|
||||
|
||||
def _get_data(self, full_service_name):
|
||||
result = []
|
||||
try:
|
||||
result = metadataclient(self.request).metadata_admin.\
|
||||
get_service_info(full_service_name)
|
||||
|
||||
except CommunicationError as e:
|
||||
LOG.exception(e)
|
||||
exceptions.handle(self.request,
|
||||
_('Unable to communicate to Murano Metadata '
|
||||
'Repository. Add MURANO_METADATA_URL to local_'
|
||||
'settings'))
|
||||
except Unauthorized as e:
|
||||
LOG.exception(e)
|
||||
exceptions.handle(self.request, _('Configure Keystone in Murano '
|
||||
'Repository Service'))
|
||||
except HTTPInternalServerError as e:
|
||||
LOG.exception(e)
|
||||
exceptions.handle(self.request, _('There is a problem with Murano '
|
||||
'Repository Service'))
|
||||
else:
|
||||
return result['service_info']
|
||||
return result
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ManageServiceFilesView,
|
||||
context = super(ManageServiceView,
|
||||
self).get_context_data(**kwargs)
|
||||
full_service_name = kwargs['full_service_name']
|
||||
context['full_service_name'] = full_service_name
|
||||
service_info = self._get_data(full_service_name)
|
||||
service_name = service_info.get('service_display_name', '-')
|
||||
context['service_name'] = service_name
|
||||
detail_info = SortedDict([
|
||||
('Name', service_name),
|
||||
('ID', service_info.get('full_service_name', '-')),
|
||||
('Version', service_info.get('version', '-')),
|
||||
('UI Description', service_info.get('description', '-')),
|
||||
('Author', service_info.get('author', '-')),
|
||||
('Service Version', service_info.get('service_version', '-')),
|
||||
('Active', service_info.get('enabled', '-'))])
|
||||
context['service_info'] = detail_info
|
||||
return context
|
||||
|
||||
def get_file_list(self, data_type):
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{% load i18n %}
|
||||
{% load url from future %}
|
||||
|
||||
<h3>{% trans "Service Details" %}</h3>
|
||||
<div class="info detail">
|
||||
<dl>
|
||||
{% for key, value in service_info.items %}
|
||||
<dt>{% blocktrans %} {{ key }} {% endblocktrans %}</dt>
|
||||
<dd>{% blocktrans %} {{ value }} {% endblocktrans %}</dd>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</div>
|
|
@ -5,12 +5,14 @@
|
|||
{% block page_header %}
|
||||
<div class='page-header'>
|
||||
|
||||
<h2> {% blocktrans %}Manage Service: {{ full_service_name }} {% endblocktrans %}
|
||||
<h2> {% blocktrans %}Manage Service: {{ service_name }} {% endblocktrans %}
|
||||
</h2>
|
||||
</div>
|
||||
{% endblock page_header %}
|
||||
|
||||
{% block main %}
|
||||
{% include "service_catalog/_detail_overview.html" %}
|
||||
<hr>
|
||||
<div id="ui">
|
||||
{{ ui_table.render }}
|
||||
</div>
|
||||
|
|
|
@ -9,4 +9,4 @@ django-floppyforms==1.1
|
|||
ordereddict
|
||||
yaql==0.2
|
||||
python-muranoclient>=0.3
|
||||
murano-metadataclient==0.4.dev28.g6d64a2b
|
||||
murano-metadataclient==0.4.dev29.gb604344
|
||||
|
|
Loading…
Reference in New Issue