diff --git a/tabula/tabula/templates/_services.html b/tabula/tabula/templates/_services.html index 1869508..35df25b 100644 --- a/tabula/tabula/templates/_services.html +++ b/tabula/tabula/templates/_services.html @@ -1,3 +1,3 @@ {% load i18n sizeformat %} -

{% trans "Services" %}

\ No newline at end of file +

{% trans "Service " %} {{ service_name }}

\ No newline at end of file diff --git a/tabula/tabula/windc/api.py b/tabula/tabula/windc/api.py index 240619b..5c3749e 100644 --- a/tabula/tabula/windc/api.py +++ b/tabula/tabula/windc/api.py @@ -114,6 +114,15 @@ def services_get(request, datacenter_id, service_id): if service.id is service_id: return service +def get_service_datails(request, service_id): + datacenters = datacenters_list(request) + services = [] + for dc in datacenters: + services += services_list(request, dc.id) + + for service in services: + if service.id == service_id: + return service def services_delete(request, datacenter_id, service_id): services = services_list(request, datacenter_id) diff --git a/tabula/tabula/windc/tabs.py b/tabula/tabula/windc/tabs.py index cb3c2ce..caf0abc 100644 --- a/tabula/tabula/windc/tabs.py +++ b/tabula/tabula/windc/tabs.py @@ -36,7 +36,7 @@ class OverviewTab(tabs.Tab): class LogsTab(tabs.Tab): name = _("Logs") slug = "_logs" - template_name = ("project/windc/_services.html") + template_name = ("project/windc/_services_logs.html") def get_context_data(self, request): return {"service_id": self.tab_group.kwargs['service_id']} diff --git a/tabula/tabula/windc/views.py b/tabula/tabula/windc/views.py index 1ffeb2f..27b1945 100644 --- a/tabula/tabula/windc/views.py +++ b/tabula/tabula/windc/views.py @@ -176,6 +176,30 @@ class WinServices(tables.DataTableView): class DetailServiceView(tabs.TabView): tab_group_class = WinServicesTabs template_name = '_services.html' + + def get_context_data(self, **kwargs): + context = super(DetailServiceView, self).get_context_data(**kwargs) + context["service"] = self.get_data() + context["service_name"] = self.get_data().name + return context + + def get_data(self): + if not "_service" in self: + try: + service_id = self.kwargs['service_id'] + service = api.get_service_datails(self.request, service_id) + except: + redirect = reverse('horizon:project:windc:index') + exceptions.handle(self.request, + _('Unable to retrieve details for ' + 'service "%s".') % service_id, + redirect=redirect) + self._service = service + return self._service + + def get_tabs(self, request, *args, **kwargs): + service = self.get_data() + return self.tab_group_class(request, service=service, **kwargs) class CreateWinDCView(workflows.WorkflowView):