def report_content(request, report_id): dbm = get_database_manager(request.user) config = get_report_config(dbm, report_id) return HttpResponse( '<link rel="stylesheet" href="/reports/' + report_id + '/stylesheet/" />' + _get_content(request, dbm, config), )
def handle(self, *args, **options): print "Creating Dynamic Views for Reports within DW" for database_name in document_stores_to_process(args): dbm = get_db_manager(database_name) report_configs = dbm.database.view( "all_report_configs/all_report_configs") for report_config in report_configs: report_id = report_config.id report_config_doc = report_config.value config = get_report_config(dbm, report_id) if not report_config_doc.get('type', None): print("Database %s") % database_name print "Create Dynamic Views for %s" % report_config_doc.get( 'name', "") filter_fields = [f['field'] for f in config.filters] date_field = config.date_filter and [ strip_alias(config.date_filter['field']) ] or [] indexes = distinct([ strip_alias(get_indexable_question(qn)) for qn in filter_fields ]) questionnaire_ids = '"{0}"'.format('", "'.join([ questionnaire['id'] for questionnaire in config.questionnaires ])) dbm.create_view( get_report_view_name(report_id, "_".join(indexes + date_field)), _get_map_function( questionnaire_ids, _combined_view_key( map(_form_key_for_couch_view, indexes + date_field))), "_count") date_field and dbm.create_view( get_report_view_name(report_id, date_field[0]), _get_map_function( questionnaire_ids, _form_key_for_couch_view(date_field[0])), "_count") print "Done."
def _get_file(request, report_id, file_name): dbm = get_database_manager(request.user) return get_report_config(dbm, report_id).file(file_name)
def map_data_for_reports(request, entity_type=None, report_id=None): return map_data(request, entity_type, get_report_config(get_database_manager(request.user), report_id))