Пример #1
0
def vitamines(request, object_id=None, per_page="0", rformat="pdf"):
    '''List of Cases/Children Eligible for vitamines not yet vaccinated'''
    has_data=0
    pdfrpt = PDFReport()
    pdfrpt.setLandscape(False)
    #pdfrpt.setTitle("RapidResponse MVP Kenya: Cases Reports by CHW")
    pdfrpt.setTitle(_("Vitamines A Campaign"))
    if object_id is None:
        if request.POST and request.POST['site']:
            id_loc=request.POST['site']
            loc=Location.objects.get(id=id_loc)
            
            #reporters = Case.objects.filter(location=loc).\
            #    values('reporter', 'location').distinct()
            reporters = Reporter.objects.filter(location=loc)
            
            per_page = "1"
        else:
            reporters = Reporter.objects.all()
        
        for reporter in reporters:
            
            queryset, fields = ReportAllPatients.vitamines_by_provider(reporter)
            if queryset:
                
                title = reporter.location.name + ": " + \
                    reporter.full_name() + \
                    " (sms format: `VITA +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.vitamines_by_provider(reporter)
        if queryset:
            
            title = reporter.full_name() + \
            " (sms format: `VITA +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)
            if (int(per_page) == 1) is True:
                pdfrpt.setPageBreak()
        pdfrpt.setFilename("/tmp/report_per_page")

    return pdfrpt.render()