def malaria(request, object_id=None, per_page="0", rformat="pdf"): ''' List Positive RDT Test Cases per clinic ''' pdfrpt = PDFReport() fourteen_days = timedelta(days=14) today = datetime.now() duration_start = day_start(today - fourteen_days) duration_end = today pdfrpt.setTitle(_("%(app_name)s: Positive RDT Cases from "\ "%(start_date)s to %(end_date)s" % \ {'start_date': duration_start.date(), \ 'end_date': duration_end.date(), 'app_name': Cfg.get("app_name")})) pdfrpt.setRowsPerPage(66) if object_id is None and not request.POST: clinics = Location.objects.filter(type__name="Clinic") for clinic in clinics: queryset, fields = \ ReportAllPatients.malaria_at_risk(duration_start, \ duration_end, clinic) c = clinic subtitle = _("%(clinic)s: Positive RDT Cases from "\ "%(start_date)s to %(end_date)s" % {'clinic': c.name, \ 'start_date': duration_start.date(), \ 'end_date': duration_end.date()}) pdfrpt.setTableData(queryset, fields, subtitle, \ [0.3 * inch, 0.4 * inch, 1 * inch, 0.4 * inch, \ .4 * inch, .4 * inch, 0.5 * inch, .8 * inch, \ .4 * inch, 1 * inch, 1 * inch, 1.4 * inch]) if (int(per_page) == 1) is True: pdfrpt.setPageBreak() pdfrpt.setFilename("/tmp/malaria_cases") else: if request.POST['clinic']: object_id = request.POST['clinic'] object_id = Location.objects.get(id=object_id) queryset, fields = \ ReportAllPatients.malaria_at_risk(duration_start, \ duration_end, object_id) subtitle = _("%(clinic)s: Positive RDT Cases from "\ "%(start_date)s to %(end_date)s" % {'clinic': object_id.name, \ 'start_date': duration_start.date(), \ 'end_date': duration_end.date()}) pdfrpt.setTableData(queryset, fields, subtitle, \ [0.3 * inch, 0.4 * inch, 1 * inch, 0.4 * inch, \ .4 * inch, .4 * inch, 0.5 * inch, .8 * inch, \ .4 * inch, 1 * inch, 1 * inch, 1.4 * inch]) pdfrpt.setFilename("/tmp/malaria_cases") return pdfrpt.render()