Source code for horizon.dashboards.syspanel.services.tables
from django import template
from django.utils.translation import ugettext_lazy as _
from horizon import tables
LOG = logging.getLogger(__name__)
class ServiceFilterAction(tables.FilterAction):
def filter(self, table, services, filter_string):
[docs] q = filter_string.lower()
[docs]
def comp(service):
if q in service.type.lower():
return True
return False
return filter(comp, services)
def get_stats(service):
return template.loader.render_to_string('syspanel/services/_stats.html',
[docs] {'service': service})
def get_enabled(service, reverse=False):
options = ["Enabled", "Disabled"]
[docs] if reverse:
options.reverse()
return options[0] if not service.disabled else options[1]
class ServicesTable(tables.DataTable):
id = tables.Column('id', verbose_name=_('Id'), hidden=True)
[docs] name = tables.Column("name", verbose_name=_('Name'))
service_type = tables.Column('__unicode__', verbose_name=_('Service'))
host = tables.Column('host', verbose_name=_('Host'))
enabled = tables.Column(get_enabled,
verbose_name=_('Enabled'),
status=True)
class Meta:
name = "services"
verbose_name = _("Services")
table_actions = (ServiceFilterAction,)
multi_select = False
status_columns = ["enabled"]