def _select_list(self, queryview=None, download_filename=None, **kwargs): from uliweb import request, json if queryview: queryview.run() condition = queryview.get_condition() else: condition = None if 'condition' in kwargs: condition = and_(condition, kwargs['condition']) kwargs['condition'] = condition else: kwargs['condition'] = condition view = functions.SelectListView(**kwargs) if 'data' in request.values: return json(view.json()) elif 'download' in request.GET: filename = download_filename or 'download.xls' kwargs.setdefault('action', 'download') kwargs.setdefault('timeout', 0) return view.download(filename, **kwargs) else: result = view.run() if queryview: result.update({'query_form':queryview.form}) else: result.update({'query_form':''}) result.update({'table':view}) return result
def _select_list_view(self, model, **kwargs): """ :param model: :param fields_convert_map: it's different from ListView :param kwargs: :return: """ from uliweb import request # add download fields process fields = kwargs.pop('fields', None) meta = kwargs.pop('meta', 'Table') if 'download' in request.GET: if 'download_fields' in kwargs: fields = kwargs.pop('download_fields', fields) if 'download_meta' in kwargs: meta = kwargs.pop('download_meta') else: if hasattr(model, 'Download'): meta = 'Download' else: meta = meta view = functions.SelectListView(model, fields=fields, meta=meta, **kwargs) return view