'list function logic, override to implement different logic
returns list and search widget'

def _list(self):

    if get_order_args().get(self.__class__.__name__):
        (order_column, order_direction) = get_order_args().get(self.__class__.__name__)
    else:
        (order_column, order_direction) = ('', '')
    page = get_page_args().get(self.__class__.__name__)
    page_size = get_page_size_args().get(self.__class__.__name__)
    get_filter_args(self._filters)
    widgets = self._get_list_widget(filters=self._filters, order_column=order_column, order_direction=order_direction, page=page, page_size=page_size)
    form = self.search_form.refresh()
    self.update_redirect()
    return self._get_search_widget(form=form, widgets=widgets)
