diff --git a/bitbake/lib/toaster/toastergui/tables.py b/bitbake/lib/toaster/toastergui/tables.py index 7fb3f8605e..2903a81696 100644 --- a/bitbake/lib/toaster/toastergui/tables.py +++ b/bitbake/lib/toaster/toastergui/tables.py @@ -773,38 +773,32 @@ class SelectPackagesTable(PackagesTable): self.add_column(title="Add | Remove", hideable=False, help_text="Use the add and remove buttons to modify " - "the package content of you custom image", + "the package content of your custom image", static_data_name="add_rm_pkg_btn", static_data_template='{% include "pkg_add_rm_btn.html" %}', - filter_name="in_current_image" - ) + filter_name='in_current_image_filter') def setup_filters(self, *args, **kwargs): - project = Project.objects.get(pk=kwargs['pid']) - self.project_layers = ProjectLayer.objects.filter(project=project) + in_current_image_filter = TableFilter( + 'in_current_image_filter', + 'Filter by added packages' + ) + in_image_action = TableFilterActionToggle( + 'in_image', + 'Packages in %s' % self.cust_recipe.name, + Q(pk__in=self.static_context_extra['current_packages']) + ) - 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) - ]) + not_in_image_action = TableFilterActionToggle( + 'not_in_image', + 'Packages not added to %s' % self.cust_recipe.name, + ~Q(pk__in=self.static_context_extra['current_packages']) + ) - def filter_in_image(self): - return self.queryset.filter( - pk__in=self.static_context_extra['current_packages']) - - def filter_not_in_image(self): - return self.queryset.exclude( - pk__in=self.static_context_extra['current_packages']) + in_current_image_filter.add_action(in_image_action) + in_current_image_filter.add_action(not_in_image_action) + self.add_filter(in_current_image_filter) class ProjectsTable(ToasterTable): """Table of projects in Toaster"""