Add service overview to service page in "Service Catalog"

Remane "Manage Files" btn to "Manage Service"

Change-Id: I2460ccd5d3c49f87ee453a976823b88f493641be
This commit is contained in:
Ekaterina Fedorova 2013-11-27 16:59:17 +04:00
parent 1bc78130a9
commit 363d3ec4c1
6 changed files with 64 additions and 13 deletions

View File

@ -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)

View File

@ -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'),

View File

@ -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):

View File

@ -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>

View File

@ -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>

View File

@ -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