def generate_csv_report(): results = [] settings = g.db.settings.find_one() report_settings = settings.get('reporting') if report_settings.get('enabled'): if request.form: query = help.generate_reporting_query(request) else: query = {} collection = report_settings.get('collection') results = getattr(g.db, collection).find(query).sort( SORT_FIELD, pymongo.DESCENDING ) template = render_template( 'engine/generated_report.csv', results=results ) response = make_response(template) response.headers['Content-Type'] = 'application/csv' response.headers['Content-Disposition'] = ( 'attachment; filename="generated_report.csv"' ) return response
def generate_report(): results = [] title = "Query Results" settings = g.db.settings.find_one() report_settings = settings.get('reporting') if report_settings.get('enabled'): if request.json: query = help.generate_reporting_query(request) else: query = {} collection = report_settings.get('collection') results = getattr(g.db, collection).find(query).sort( SORT_FIELD, pymongo.DESCENDING ) graph_data, graph_keys, graph_labels = help.generate_graph_data( results ) return render_template( 'engine/_report_results.html', title=title, results=results.rewind(), graph_data=graph_data, graph_keys=graph_keys, graph_labels=graph_labels )