1
from django.utils.translation import ugettext_lazy as _
3
from horizon import tables
4
from openstack_dashboard.api import cinder
5
from openstack_dashboard.dashboards.project.volumes.tables import (UpdateRow,
6
VolumesTable as _VolumesTable, DeleteVolume)
9
class CreateVolumeType(tables.LinkAction):
11
verbose_name = _("Create Volume Type")
12
url = "horizon:admin:volumes:create_type"
13
classes = ("ajax-modal", "btn-create")
16
class DeleteVolumeType(tables.DeleteAction):
17
data_type_singular = _("Volume Type")
18
data_type_plural = _("Volume Types")
20
def delete(self, request, obj_id):
21
cinder.volume_type_delete(request, obj_id)
24
class VolumesTable(_VolumesTable):
25
name = tables.Column("display_name",
26
verbose_name=_("Name"),
27
link="horizon:admin:volumes:detail")
28
host = tables.Column("os-vol-host-attr:host", verbose_name=_("Host"))
29
tenant = tables.Column("tenant_name", verbose_name=_("Project"))
33
verbose_name = _("Volumes")
34
status_columns = ["status"]
36
table_actions = (DeleteVolume,)
37
row_actions = (DeleteVolume,)
38
columns = ('tenant', 'host', 'name', 'size', 'status', 'volume_type',
42
class VolumeTypesTable(tables.DataTable):
43
name = tables.Column("name",
44
verbose_name=_("Name"))
46
def get_object_display(self, vol_type):
49
def get_object_id(self, vol_type):
50
return str(vol_type.id)
54
verbose_name = _("Volume Types")
55
table_actions = (CreateVolumeType, DeleteVolumeType,)
56
row_actions = (DeleteVolumeType,)