def measles(request, object_id=None, per_page="0", rformat="pdf"): '''List of Cases/Children Eligible for measles not yet vaccinated''' pdfrpt = PDFReport() pdfrpt.setLandscape(False) #pdfrpt.setTitle("RapidResponse MVP Kenya: Cases Reports by CHW") pdfrpt.setTitle(_("Measles Campaign")) if object_id is None: if request.POST and request.POST['zone']: reporters = Case.objects.filter(location=request.POST['zone']).\ values('reporter', 'location').distinct() per_page = "1" else: reporters = Reporter.objects.order_by("location").all() for reporter in reporters: queryset, fields = ReportAllPatients.measles_by_provider(reporter) if queryset: title = reporter.location.name + ": " + \ reporter.full_name() + \ " (sms format: `MEASLES +PID +PID +PID`)" pdfrpt.setTableData(queryset, fields, title) if (int(per_page) == 1) is True: pdfrpt.setPageBreak() pdfrpt.setFilename("/tmp/report_per_page") else: if request.POST and request.POST['provider']: object_id = request.POST['provider'] reporter = Reporter.objects.get(id=object_id) queryset, fields = ReportAllPatients.measles_by_provider(reporter) if queryset: title = reporter.full_name() + \ " (sms format: `MEASLES +PID +PID +PID`)" if rformat == "csv" or (request.POST \ and request.POST["format"].lower() == "csv"): file_name = reporter.full_name() + ".csv" file_name = file_name.replace(" ", "_").replace("'", "") return handle_csv(request, queryset, fields, file_name) pdfrpt.setTableData(queryset, fields, title) return pdfrpt.render()