def dashboard(request): base_facilities = SupplyPoint.objects.filter(active=True, type__code="hsa") em_group = None if request.location: valid_facilities = get_facilities().filter(parent_id=request.location.pk) base_facilities = base_facilities.filter(location__parent_id__in=[f.pk for f in valid_facilities]) em_group = (group_for_location(request.location) == config.Groups.EM) # reporting info month = MonthPager(request) if em_group: report = ReportingBreakdown(base_facilities, month.datespan, include_late = True, MNE=False, days_for_late=settings.LOGISTICS_DAYS_UNTIL_LATE_PRODUCT_REPORT)#(group == config.Groups.EM)) else: report = ReportingBreakdown(base_facilities) return render_to_response("malawi/dashboard.html", {"reporting_data": report, "hsas_table": MalawiContactTable(Contact.objects.filter(is_active=True, role__code="hsa"), request=request), "graph_width": 200, "graph_height": 200, "month_pager": month, "districts": get_districts().order_by("code"), "location": request.location}, context_instance=RequestContext(request))
def hsas(request): hsas = hsas_below(request.location) districts = get_districts().order_by("id") facilities = get_facilities().order_by("parent_id") hsa_table = HSATable(hsas, request=request) return render_to_response("malawi/hsas.html", { "hsas": hsas, "hsa_table": hsa_table, "location": request.location, "districts": districts, "facilities": facilities }, context_instance=RequestContext(request) )
def facilities(request): facilities = get_facilities().order_by("parent_id", "code") if request.location: if request.location.type.slug == "district": table = None # nothing to do, handled by aggregate else: assert(request.location.type.slug == "facility") return HttpResponseRedirect(reverse("malawi_facility", args=[request.location.code])) else: table = DistrictTable(get_districts(), request=request) return render_to_response("malawi/facilities.html", { "location": request.location, "facilities": facilities, "table": table, "districts": get_districts().order_by("code") }, context_instance=RequestContext(request))
def monitoring_report(request, report_slug): report_def = ReportDefinition(report_slug) if report_slug in REPORTS_CURRENT: request.datespan = "current" if report_slug in REPORTS_LOCATION: request.select_location=True code = request.GET.get("place", None) if code: request.location = Location.objects.get(code=code) else: request.location = None location = request.location instance = ReportInstance(report_def, request.datespan, request.location) facilities = get_facilities().order_by("parent_id", "code") else: instance = ReportInstance(report_def, request.datespan) facilities = None location = None return render_to_response("malawi/monitoring_report.html", {"report": instance, "facilities": facilities, "location": location}, context_instance=RequestContext(request))