diff --git a/openstack_dashboard/dashboards/project/stacks/tables.py b/openstack_dashboard/dashboards/project/stacks/tables.py index adce044f0e..0e88dd565e 100644 --- a/openstack_dashboard/dashboards/project/stacks/tables.py +++ b/openstack_dashboard/dashboards/project/stacks/tables.py @@ -171,6 +171,15 @@ class StacksUpdateRow(tables.Row): raise +class StacksFilterAction(tables.FilterAction): + + def filter(self, table, stacks, filter_string): + """Naive case-insensitive search.""" + query = filter_string.lower() + return [stack for stack in stacks + if query in stack.name.lower()] + + class StacksTable(tables.DataTable): STATUS_CHOICES = ( ("Complete", True), @@ -209,7 +218,8 @@ class StacksTable(tables.DataTable): CheckStack, SuspendStack, ResumeStack, - DeleteStack,) + DeleteStack, + StacksFilterAction,) row_actions = (CheckStack, SuspendStack, ResumeStack,