Exemplo n.º 1
0
def highlevelgraphs(request, language, template_name="submissions/highlevelgraphs.html", extra_context=None, titles=None):
    extra_context = extra_context or {}

    translation = request.translation
    indicators = calc_overall_agency_indicators(funcs=positive_funcs)

    for indicator in indicators:
        (baseline_value, _, latest_value, _) = indicators[indicator][0]
        name = "graph_%s" % indicator.lower()
        if indicator not in ["5DPc"]:
            graph = highlevel_graph_by_indicator(indicator, name, translation, baseline_value, latest_value, target_values[indicator])
        else:
            graph = highlevel_graph_by_indicator(indicator, name, translation, baseline_value, latest_value)

        extra_context["graph_%s" % indicator] = graph 

    agency_data = dict([(agency, agency_scorecard.get_agency_scorecard_data(agency)) for agency in Agency.objects.all()])

    extra_context["graph_pfm"] = additional_graph_by_indicator("5DPb", "graph_pfm", translation, agency_data)
    extra_context["graph_procurement"] = additional_graph_by_indicator("5DPa", "graph_procurement", translation, agency_data)
    extra_context["graph_multi_year"] = additional_graph_by_indicator("3DP", "graph_multi_year", translation, agency_data)
    extra_context["graph_pba"] = additional_graph_by_indicator("2DPc", "graph_pba", translation, agency_data)
    extra_context["graph_tc"] = additional_graph_by_indicator("2DPb", "graph_tc", translation, agency_data)
    extra_context["graph_aob"] = additional_graph_by_indicator("2DPa", "graph_aob", translation, agency_data)

    return direct_to_template(request, template=template_name, extra_context=extra_context)
Exemplo n.º 2
0
def agency_ratings(request, language="English", template_name="submissions/agency_ratings.html", extra_context=None):
    extra_context = extra_context or {}
    extra_context["translation"] = translation = request.translation
    ratings = []
    data = dict([(agency, agency_scorecard.get_agency_scorecard_data(agency)) for agency in models.Agency.objects.all()])

    agencies = models.Agency.objects.all().order_by("agency")
    for indicator in indicators.dp_indicators:
        rating = {}
        for agency in agencies:
            cur_val = data[agency][indicator]["cur_val"]
            base_val = data[agency][indicator]["base_val"]
            perc_change = ""
            try:
                perc_change = ((cur_val - base_val) / base_val) * 100
            except:
                pass

            rating[agency] = {
                "rating" : data[agency][indicator]["target"],
                "base_val" : data[agency][indicator]["base_val"],
                "cur_val" : data[agency][indicator]["cur_val"],
                "perc_change" : perc_change
            }
        ratings.append((indicator, rating, translation.spm_map[indicator]))
    
    extra_context["ratings"] = ratings
    extra_context["agencies"] = agencies
    return direct_to_template(request, template=template_name, extra_context=extra_context)
Exemplo n.º 3
0
def agency_graphs_by_indicator(request, indicator, language, template_name="submissions/agency_graphs_by_indicator.html", extra_context=None):
    extra_context = extra_context or {}
    translation = request.translation

    indicators = calc_overall_agency_indicators(funcs=positive_funcs)

    extra_context["graphs"] = graphs = []
    name = "graph_%s" % indicator

    (baseline_value, baseline_year, latest_value, latest_year) = indicators[indicator][0]
    target = target_values[indicator]
    graph = highlevel_graph_by_indicator(indicator, name, translation, baseline_value, latest_value, target=target)
    graphs.append({
        "name" : name,
        "obj" : graph
    })

    agency_data = dict([(agency, agency_scorecard.get_agency_scorecard_data(agency)) for agency in Agency.objects.all()])

    name = "graph2_%s" % indicator
    graph = additional_graph_by_indicator(indicator, name, translation, agency_data)
    graphs.append({
        "name" : name,
        "obj" : graph
    })

    return direct_to_template(request, template=template_name, extra_context=extra_context)
Exemplo n.º 4
0
def agency_export(request, language):
    language = get_object_or_404(Language, language=language)

    headers = [
        "file",
        "agency",
        "agencytitle",
        "profile",
        "er1",
        "r1",
        "er2a",
        "r2a",
        "er2b",
        "r2b",
        "er2c",
        "r2c",
        "er3",
        "r3",
        "er4",
        "r4",
        "er5a",
        "r5a",
        "er5b",
        "r5b",
        "er5c",
        "r5c",
        "er6",
        "r6",
        "er7",
        "r7",
        "er8",
        "r8",
        "p1",
        "p2",
        "p3",
        "p4",
        "p5",
        "p6",
        "p7",
        "p8",
        "p9",
        "p10",
        "np1",
        "np2",
        "np3",
        "np4",
        "np5",
        "np6",
        "np7",
        "np8",
        "np9",
        "np10",
        "erb1",
        "erb2",
        "erb3",
        "erb4",
        "erb5",
        "erb6",
        "erb7",
        "erb8",
        "workingdraft",
    ]

    response = HttpResponse(mimetype="text/csv")
    response["Content-Disposition"] = "attachment; filename=agency_export.csv"
    writer = csv.writer(response)
    writer.writerow(headers)

    for agency in Agency.objects.all():
        data = agency_scorecard.get_agency_scorecard_data(agency, language)
        writer.writerow([unicode(data.get(header, "")) for header in headers])
    return response