bitbake: toaster: ToasterTables simplify filter function move common part to widget

Move part of the functionality of the filter functions to the Table
widget. We don't need to implement it in each subclass.

(Bitbake rev: 16e48829f6fd96c1d21339253871f2a9b2446f87)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michael Wood 2015-10-27 19:04:46 +00:00 committed by Richard Purdie
parent 3e1e8e6a99
commit 4c82878225
1 changed files with 31 additions and 1 deletions

View File

@ -658,7 +658,37 @@ class SelectPackagesTable(ToasterTable):
help_text="Use the add and remove buttons to modify "
"the package content of you custom image",
static_data_name="add_rm_pkg_btn",
static_data_template='{% include "pkg_add_rm_btn.html" %}')
static_data_template='{% include "pkg_add_rm_btn.html" %}',
static_data_template='{% include "pkg_add_rm_btn.html" %}'
)
def setup_filters(self, *args, **kwargs):
project = Project.objects.get(pk=kwargs['pid'])
self.project_layers = ProjectLayer.objects.filter(project=project)
self.add_filter(title="Filter by added packages",
name="in_current_image",
filter_actions=[
self.make_filter_action(
"in_image",
"Packages in %s" % self.cust_recipe.name,
self.filter_in_image),
self.make_filter_action(
"not_in_image",
"Packages not added to %s" %
self.cust_recipe.name,
self.filter_not_in_image)
])
def filter_in_image(self, count_only=False):
return self.queryset.filter(
pk__in=self.static_context_extra['current_packages'])
def filter_not_in_image(self, count_only=False):
return self.queryset.exclude(
pk__in=self.static_context_extra['current_packages'])
class ProjectsTable(ToasterTable):
"""Table of projects in Toaster"""