added filter for networks and router
client side filter is missing for network and router tables on both admin project. this patch adding the filter for both network and router tables. Change-Id: I27027da70b8b1e1e50ecfa414fa19a14e11064d7 Closes-Bug: #1413550
This commit is contained in:
parent
04b692cc30
commit
6fb1ecd013
|
@ -107,7 +107,8 @@ class NetworksTable(tables.DataTable):
|
|||
class Meta:
|
||||
name = "networks"
|
||||
verbose_name = _("Networks")
|
||||
table_actions = (CreateNetwork, DeleteNetwork)
|
||||
table_actions = (CreateNetwork, DeleteNetwork,
|
||||
project_tables.NetworksFilterAction)
|
||||
row_actions = (EditNetwork, DeleteNetwork)
|
||||
|
||||
def __init__(self, request, data=None, needs_form_wrapper=None, **kwargs):
|
||||
|
|
|
@ -46,6 +46,6 @@ class RoutersTable(r_tables.RoutersTable):
|
|||
verbose_name = _("Routers")
|
||||
status_columns = ["status"]
|
||||
row_class = UpdateRow
|
||||
table_actions = (DeleteRouter,)
|
||||
table_actions = (DeleteRouter, r_tables.RoutersFilterAction)
|
||||
row_actions = (EditRouter, DeleteRouter,)
|
||||
Columns = ('tenant', 'name', 'status', 'distributed', 'ext_net')
|
||||
|
|
|
@ -148,6 +148,15 @@ DISPLAY_CHOICES = (
|
|||
)
|
||||
|
||||
|
||||
class NetworksFilterAction(tables.FilterAction):
|
||||
|
||||
def filter(self, table, networks, filter_string):
|
||||
"""Naive case-insensitive search."""
|
||||
query = filter_string.lower()
|
||||
return [network for network in networks
|
||||
if query in network.name.lower()]
|
||||
|
||||
|
||||
class NetworksTable(tables.DataTable):
|
||||
name = tables.Column("name_or_id",
|
||||
verbose_name=_("Name"),
|
||||
|
@ -165,5 +174,6 @@ class NetworksTable(tables.DataTable):
|
|||
class Meta:
|
||||
name = "networks"
|
||||
verbose_name = _("Networks")
|
||||
table_actions = (CreateNetwork, DeleteNetwork)
|
||||
table_actions = (CreateNetwork, DeleteNetwork,
|
||||
NetworksFilterAction)
|
||||
row_actions = (EditNetwork, CreateSubnet, DeleteNetwork)
|
||||
|
|
|
@ -182,6 +182,15 @@ def get_external_network(router):
|
|||
return _("-")
|
||||
|
||||
|
||||
class RoutersFilterAction(tables.FilterAction):
|
||||
|
||||
def filter(self, table, routers, filter_string):
|
||||
"""Naive case-insensitive search."""
|
||||
query = filter_string.lower()
|
||||
return [router for router in routers
|
||||
if query in router.name.lower()]
|
||||
|
||||
|
||||
class RoutersTable(tables.DataTable):
|
||||
name = tables.Column("name",
|
||||
verbose_name=_("Name"),
|
||||
|
@ -219,5 +228,6 @@ class RoutersTable(tables.DataTable):
|
|||
verbose_name = _("Routers")
|
||||
status_columns = ["status"]
|
||||
row_class = UpdateRow
|
||||
table_actions = (CreateRouter, DeleteRouter)
|
||||
table_actions = (CreateRouter, DeleteRouter,
|
||||
RoutersFilterAction)
|
||||
row_actions = (SetGateway, ClearGateway, EditRouter, DeleteRouter)
|
||||
|
|
Loading…
Reference in New Issue