Пример #1
0
def malnut(request, object_id=None, per_page="0", rformat="pdf"):
    '''List @Risk Malnutrition Cases per clinic '''
    pdfrpt = PDFReport()

    fourteen_days = timedelta(days=30)
    today = datetime.now()

    duration_start = day_start(today - fourteen_days)
    duration_end = today

    pdfrpt.setTitle(_("%(app_name)s: @Risk Malnutrition 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)
    pdfrpt.setNumOfColumns(2)
    pdfrpt.setLandscape(True)

    if object_id is None and not request.POST:
        clinics = Location.objects.filter(type__name="Clinic")
        for clinic in clinics:
            queryset, fields = \
                ReportAllPatients.malnutrition_at_risk(duration_start, \
                                                       duration_end, clinic)
            c = clinic
            subtitle = _("%(clinic)s: @Risk Malnutrition 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.2 * inch, 0.4 * inch, 1 * inch, 0.3 * inch, \
                         .3 * inch, .8 * inch, .5 * inch, .2 * inch, \
                         0.5 * inch, 0.8 * inch, 1 * inch])
            if (int(per_page) == 1) is True:
                pdfrpt.setPageBreak()
                pdfrpt.setFilename("/tmp/malnutrition_at_risk")
    else:
        if request.POST['clinic']:
            object_id = request.POST['clinic']
            object_id = Location.objects.get(id=object_id)
        queryset, fields = \
            ReportAllPatients.malnutrition_at_risk(duration_start, \
                                                   duration_end, object_id)

        subtitle = _("%(clinic)s: @Risk Malnutrition 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.2 * inch, 0.4 * inch, 1 * inch, 0.3 * inch, \
                         .3 * inch, .8 * inch, .5 * inch, .2 * inch, \
                         0.5 * inch, 0.8 * inch, 1 * inch])
        pdfrpt.setFilename("/tmp/malnutrition_at_risk")

    return pdfrpt.render()