Пример #1
0
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),
    )
Пример #2
0
 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."
Пример #3
0
def _get_file(request, report_id, file_name):
    dbm = get_database_manager(request.user)
    return get_report_config(dbm, report_id).file(file_name)
Пример #4
0
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))