Esempio n. 1
0
def _pi_report(request, view_slug):
    """
    Generic report engine for the performance indicator reports
    """
    if not request.datespan.is_valid():
        messages.error(request, request.datespan.get_validation_reason())
        return render_to_response(request, "reports/pi_report.html",
                              {"show_dates": True, "report": None})
                               
                                   
    clinic_id = request.GET.get("clinic", None)
    results = _pi_results(view_slug, request.datespan.startdate, request.datespan.enddate,
                          clinic_id) 
    report = PIReport.from_view_results(view_slug, results)
    
    main_clinic = Location.objects.get(slug=clinic_id) if clinic_id else None
    return render_to_response(request, "reports/pi_report.html",
                              {"show_dates": False, 
                               "hide_districts": True, 
                               "main_clinic": main_clinic,
                               "clinics": clinics_for_view(),
                               "districts": districts_for_view(),
                               "view_slug": view_slug,
                               "report": report})
Esempio n. 2
0
def export_pis(request, report_slug):
    clinic_id = request.GET.get("clinic", None)
    results = _pi_results(report_slug, request.datespan.startdate, request.datespan.enddate,
                          clinic_id) 
    report = PIReport.from_view_results(report_slug, results)
    return _export_pis(report, report_slug)