3
from django.utils.translation import ugettext_lazy as _
5
from horizon import api
6
from horizon import tables
9
LOG = logging.getLogger(__name__)
12
class DeleteFlavor(tables.DeleteAction):
13
data_type_singular = _("Flavor")
14
data_type_plural = _("Flavors")
16
def delete(self, request, obj_id):
17
api.flavor_delete(request, obj_id)
20
class CreateFlavor(tables.LinkAction):
22
verbose_name = _("Create Flavor")
23
url = "horizon:syspanel:flavors:create"
24
classes = ("ajax-modal", "btn-create")
27
class EditFlavor(tables.LinkAction):
29
verbose_name = _("Edit Flavor")
30
url = "horizon:syspanel:flavors:edit"
31
classes = ("ajax-modal", "btn-edit")
35
return _("%sMB") % flavor.ram
38
class FlavorsTable(tables.DataTable):
39
name = tables.Column('name', verbose_name=_('Flavor Name'))
40
vcpus = tables.Column('vcpus', verbose_name=_('VCPUs'))
41
ram = tables.Column(get_size,
42
verbose_name=_('RAM'),
43
attrs={'data-type': 'size'})
44
disk = tables.Column('disk', verbose_name=_('Root Disk'))
45
ephemeral = tables.Column('OS-FLV-EXT-DATA:ephemeral',
46
verbose_name=_('Ephemeral Disk'))
47
flavor_id = tables.Column('id', verbose_name=('ID'))
51
verbose_name = _("Flavors")
52
table_actions = (CreateFlavor, DeleteFlavor)
53
row_actions = (EditFlavor, DeleteFlavor)