Source code for horizon.dashboards.syspanel.flavors.tables

import logging

from django.utils.translation import ugettext_lazy as _

from horizon import api
from horizon import tables


LOG = logging.getLogger(__name__)


[docs]class DeleteFlavor(tables.DeleteAction): data_type_singular = _("Flavor") data_type_plural = _("Flavors")
[docs] def delete(self, request, obj_id): api.flavor_delete(request, obj_id)
[docs]class CreateFlavor(tables.LinkAction): name = "create" verbose_name = _("Create Flavor") url = "horizon:syspanel:flavors:create" classes = ("ajax-modal", "btn-create")
[docs]class EditFlavor(tables.LinkAction): name = "edit" verbose_name = _("Edit Flavor") url = "horizon:syspanel:flavors:edit" classes = ("ajax-modal", "btn-edit")
[docs]def get_size(flavor): return _("%sMB") % flavor.ram
[docs]class FlavorsTable(tables.DataTable): name = tables.Column('name', verbose_name=_('Flavor Name')) vcpus = tables.Column('vcpus', verbose_name=_('VCPUs')) ram = tables.Column(get_size, verbose_name=_('RAM'), attrs={'data-type': 'size'}) disk = tables.Column('disk', verbose_name=_('Root Disk')) ephemeral = tables.Column('OS-FLV-EXT-DATA:ephemeral', verbose_name=_('Ephemeral Disk')) flavor_id = tables.Column('id', verbose_name=('ID'))
[docs] class Meta: name = "flavors" verbose_name = _("Flavors") table_actions = (CreateFlavor, DeleteFlavor) row_actions = (EditFlavor, DeleteFlavor)