def data_set(flask_report, id_): flask_report.try_edit_data_set() data_set = DataSet(flask_report, id_) SQL_html = highlight(query_to_sql(data_set.query), SqlLexer(), HtmlFormatter()) params = dict(data_set=data_set, SQL=SQL_html) extra_params = flask_report.data_set_template_param(data_set) if extra_params: params.update(extra_params) return render_template("report____/data-set.html", **params)
def data_set(flask_report, id_): flask_report.try_edit_data_set() data_set = DataSet(flask_report, id_) SQL_html = highlight(query_to_sql(data_set.query), SqlLexer(), HtmlFormatter()) params = dict(data_set=data_set, SQL=SQL_html) extra_params = flask_report.data_set_template_param(data_set) if extra_params: params.update(extra_params) return render_template("report____/data-set.html", **params)
def data_set(self, id_): self.try_edit_data_set() data_set = DataSet(self, id_) SQL_html = highlight(query_to_sql(data_set.query), SqlLexer(), HtmlFormatter()) params = dict(data_set=data_set, SQL=SQL_html) extra_params = self.extra_params.get('data_set') if extra_params: if isinstance(extra_params, types.FunctionType): extra_params = extra_params(id_) params.update(extra_params) return render_template("report____/data-set.html", **params)
def report(flask_report, id_=None): flask_report.try_view_report() if id_ is not None: report = Report(flask_report, id_) code = report.raw_filter_condition SQL_html = highlight(query_to_sql(report.query), SqlLexer(), HtmlFormatter()) params = dict(report=report, SQL=SQL_html) if code is not None: customized_filter_condition = highlight(code, PythonLexer(), HtmlFormatter()) params['customized_filter_condition'] = \ customized_filter_condition extra_params = flask_report.report_template_param(report) if extra_params: params.update(extra_params) return report.html_template.render(**params) else: # create report form = _ReportForm(flask_report, request.form) if form.validate(): name = form.name.data id = None if request.args.get('preview'): name += '(' + _('Preview') + ')' id = 0 filter_map = {} for filter_ in json.loads(form.filters.data): filter_map.setdefault(filter_['col'], []).append({ 'operator': filter_['op'], 'value': filter_['val'], 'synthetic': filter_['synthetic'] }) report_id = create_report(form.data_set, name=name, creator=form.creator.data, description=form.description.data, id=id, columns=form.columns.data, filters=filter_map) return jsonify({ 'id': report_id, 'name': form.name.data, 'url': url_for('.report', id_=report_id) }) else: return jsonify({'errors': form.errors}), 403
def report(flask_report, id_=None): flask_report.try_view_report() if id_ is not None: report = Report(flask_report, id_) code = report.raw_filter_condition SQL_html = highlight(query_to_sql(report.query), SqlLexer(), HtmlFormatter()) params = dict(report=report, SQL=SQL_html) if code is not None: customized_filter_condition = highlight(code, PythonLexer(), HtmlFormatter()) params['customized_filter_condition'] = \ customized_filter_condition extra_params = flask_report.report_template_param(report) if extra_params: params.update(extra_params) return report.html_template.render(**params) else: # create report form = _ReportForm(flask_report, request.form) if form.validate(): name = form.name.data id = None if request.args.get('preview'): name += '(' + _('Preview') + ')' id = 0 filter_map = {} for filter_ in json.loads(form.filters.data): filter_map.setdefault(filter_['col'], []).append({ 'operator': filter_['op'], 'value': filter_['val'], 'synthetic': filter_['synthetic'] }) report_id = create_report(form.data_set, name=name, creator=form.creator.data, description=form.description.data, id=id, columns=form.columns.data, filters=filter_map) return jsonify({'id': report_id, 'name': form.name.data, 'url': url_for('.report', id_=report_id)}) else: return jsonify({'errors': form.errors}), 403
def report(self, id_=None): self.try_view_report() if id_ is not None: report = Report(self, id_) html_report = report.html_template.render(report=report) code = report.read_literal_filter_condition() SQL_html = highlight(query_to_sql(report.query), SqlLexer(), HtmlFormatter()) params = dict(report=report, html_report=html_report, SQL=SQL_html) if code is not None: customized_filter_condition = highlight(code, PythonLexer(), HtmlFormatter()) params['customized_filter_condition'] = customized_filter_condition extra_params = self.extra_params.get("report") if extra_params: if isinstance(extra_params, types.FunctionType): extra_params = extra_params(id_) params.update(extra_params) return render_template("report____/report.html", **params)