summaryrefslogtreecommitdiff
path: root/openstack_dashboard/dashboards/project/volumes/tabs.py
diff options
context:
space:
mode:
authorGabriel Hurley <gabriel@strikeawe.com>2012-10-04 15:43:40 -0700
committerGabriel Hurley <gabriel@strikeawe.com>2012-10-11 11:47:50 -0700
commitcb8e7c1f8f0b238b88253cd6d82092cbe530ba9e (patch)
tree9ee3463e05ae6cf2f9cee5309a648538471c02b9 /openstack_dashboard/dashboards/project/volumes/tabs.py
parentef1e1d9b7a1fd4140518318ead8b7174a6a434ab (diff)
downloadhorizon-cb8e7c1f8f0b238b88253cd6d82092cbe530ba9e.tar.gz
Splits OpenStack Dashboard bits from framework app code.
Moves everything OpenStack-specific (dashboards, apis, etc.) into the openstack_dashboard project, achieving a much cleaner separation between the project-specific code and the generic Horizon framework code. Change-Id: I7235b41d449b26c980668fc3eb4360b24508717b
Diffstat (limited to 'openstack_dashboard/dashboards/project/volumes/tabs.py')
-rw-r--r--openstack_dashboard/dashboards/project/volumes/tabs.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/openstack_dashboard/dashboards/project/volumes/tabs.py b/openstack_dashboard/dashboards/project/volumes/tabs.py
new file mode 100644
index 000000000..0d00ed899
--- /dev/null
+++ b/openstack_dashboard/dashboards/project/volumes/tabs.py
@@ -0,0 +1,49 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 Nebula, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from django.core.urlresolvers import reverse
+from django.utils.translation import ugettext_lazy as _
+
+from horizon import exceptions
+from horizon import tabs
+
+from openstack_dashboard import api
+
+
+class OverviewTab(tabs.Tab):
+ name = _("Overview")
+ slug = "overview"
+ template_name = ("project/volumes/"
+ "_detail_overview.html")
+
+ def get_context_data(self, request):
+ volume_id = self.tab_group.kwargs['volume_id']
+ try:
+ volume = api.nova.volume_get(request, volume_id)
+ for att in volume.attachments:
+ att['instance'] = api.nova.server_get(request,
+ att['server_id'])
+ except:
+ redirect = reverse('horizon:project:volumes:index')
+ exceptions.handle(self.request,
+ _('Unable to retrieve volume details.'),
+ redirect=redirect)
+ return {'volume': volume}
+
+
+class VolumeDetailTabs(tabs.TabGroup):
+ slug = "volume_details"
+ tabs = (OverviewTab,)