gui/cgcs_dashboard/dashboards/admin/inventory/storages/lvg_params/tables.py

68 lines
2.0 KiB
Python

# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2015-2017 Wind River Systems, Inc.
#
# The right to copy, distribute, modify, or otherwise make use
# of this software may be licensed only pursuant to the terms
# of an applicable Wind River license agreement.
#
from django.core.urlresolvers import reverse # noqa
from django.template import defaultfilters as filters
from django.utils.translation import ugettext_lazy as _ # noqa
from horizon import tables
from openstack_dashboard.dashboards.admin.inventory.storages.lvg_params \
import forms
from openstack_dashboard.api import sysinv
class ParamEdit(tables.LinkAction):
name = "edit"
verbose_name = _("Edit")
url = "horizon:admin:inventory:storages:lvg:edit"
classes = ("btn-edit", "ajax-modal")
def get_link_url(self, params):
return reverse(self.url, args=[self.table.kwargs['lvg_id'],
params.key])
def get_parameters_name(datum):
return forms.get_param_key_name(datum.key)
def get_parameters_value(datum):
if datum is None or datum.value is None:
return None
if datum.key == sysinv.LVG_NOVA_PARAM_INSTANCES_SIZE_MIB:
value = datum.value
if datum.key == sysinv.LVG_NOVA_PARAM_BACKING:
value = datum.value
if datum.key == sysinv.LVG_NOVA_PARAM_DISK_OPS:
value = datum.value
if datum.key == sysinv.LVG_CINDER_PARAM_LVM_TYPE:
value = datum.value
return value
class ParamsTable(tables.DataTable):
name = tables.Column(get_parameters_name,
verbose_name=_('Name'))
key = tables.Column('key', verbose_name=_('Key'))
value = tables.Column(get_parameters_value,
verbose_name=_('Value'),
filters=[filters.linebreaksbr])
class Meta(object):
name = "params"
verbose_name = _("Parameters")
row_actions = (ParamEdit,)
def get_object_id(self, datum):
return datum.key
def get_object_display(self, datum):
return datum.key