From 1d320b8a72be6e30776650602dc96f953c33ad64 Mon Sep 17 00:00:00 2001 From: xiangxinyong Date: Fri, 2 Dec 2016 10:42:15 +0800 Subject: [PATCH] Add filter feature in Scheduled Operations Change-Id: Ibb82d3db0822b3ca2bc290346f865af557e00247 Closes-Bug: #1646664 --- karbor_dashboard/scheduledoperations/tables.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/karbor_dashboard/scheduledoperations/tables.py b/karbor_dashboard/scheduledoperations/tables.py index 148bdb4..c0b696b 100644 --- a/karbor_dashboard/scheduledoperations/tables.py +++ b/karbor_dashboard/scheduledoperations/tables.py @@ -17,6 +17,15 @@ from django.utils.translation import ugettext_lazy as _ from horizon import tables +class ScheduledOperationFilterAction(tables.FilterAction): + def filter(self, table, scheduledoperations, filter_string): + """Naive case-insensitive search.""" + query = filter_string.lower() + return [scheduledoperation + for scheduledoperation in scheduledoperations + if query in scheduledoperation.name.lower()] + + class ScheduledOperationsTable(tables.DataTable): id = tables.Column( 'id', @@ -40,3 +49,4 @@ class ScheduledOperationsTable(tables.DataTable): class Meta(object): name = 'scheduledoperations' verbose_name = _('Scheduled Operations') + table_actions = (ScheduledOperationFilterAction, )