From 4d5ec98d69dc372f96d03a57b5508f9766d484b3 Mon Sep 17 00:00:00 2001 From: Florent PIGOUT Date: Tue, 21 Jun 2016 13:19:55 +0200 Subject: [PATCH] Split view in mixin --- django_tables2_simplefilter/__init__.py | 2 +- django_tables2_simplefilter/views.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/django_tables2_simplefilter/__init__.py b/django_tables2_simplefilter/__init__.py index 95285ce..46d5ccb 100644 --- a/django_tables2_simplefilter/__init__.py +++ b/django_tables2_simplefilter/__init__.py @@ -1,3 +1,3 @@ -from .views import FilteredSingleTableView, F +from .views import FilteredSingleTableView, FilteredSingleTableMixin, F diff --git a/django_tables2_simplefilter/views.py b/django_tables2_simplefilter/views.py index 132c7cf..f86aa5d 100644 --- a/django_tables2_simplefilter/views.py +++ b/django_tables2_simplefilter/views.py @@ -9,7 +9,7 @@ def F(field, verbose_name, values_list): return dict(field=field, verbose_name=verbose_name, values_list=values_list) -class FilteredSingleTableView(SingleTableView): +class FilteredSingleTableMixin(object): """ Add filtering options to SingleTableView. Define list of filters in the Table subclass (not in Table.Meta). Likely not secure. @@ -35,7 +35,7 @@ class MyTable(tables.Table): """ def get_queryset(self): - q = super(FilteredSingleTableView, self).get_queryset() + q = super(FilteredSingleTableMixin, self).get_queryset() if hasattr(self.table_class, 'filters'): h = {} for f in self.table_class.filters: @@ -46,7 +46,7 @@ def get_queryset(self): return q def get_context_data(self, **kwargs): - c = super(FilteredSingleTableView, self).get_context_data(**kwargs) + c = super(FilteredSingleTableMixin, self).get_context_data(**kwargs) if hasattr(self.table_class, 'filters'): h = [] for f in self.table_class.filters: @@ -72,3 +72,6 @@ def get_context_data(self, **kwargs): c['filters']['base_params'] = base_param_values return c + +class FilteredSingleTableView(FilteredSingleTableMixin, SingleTableView): + pass