diff options
author | Gabriel Hurley <gabriel@strikeawe.com> | 2012-10-04 15:43:40 -0700 |
---|---|---|
committer | Gabriel Hurley <gabriel@strikeawe.com> | 2012-10-11 11:47:50 -0700 |
commit | cb8e7c1f8f0b238b88253cd6d82092cbe530ba9e (patch) | |
tree | 9ee3463e05ae6cf2f9cee5309a648538471c02b9 /openstack_dashboard/dashboards/project/volumes/tabs.py | |
parent | ef1e1d9b7a1fd4140518318ead8b7174a6a434ab (diff) | |
download | horizon-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.py | 49 |
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,) |