Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## reportes.py
- from cStringIO import StringIO
- from django.contrib.auth.decorators import login_required
- from django.http import Http404, HttpResponse
- from django.conf import settings
- from wawanet.util import JasperClient
- @login_required
- def reporte(request):
- dni = request.GET.get('dni', None)
- report_type = request.GET.get('report', None)
- # IDs de reportes, deben ser igual que en el repositorio.
- reports = {
- '1': 'control',
- '2': 'his',
- '3': 'formato_sis',
- '4': 'referencia_sis',
- '5': 'solicitud_examen',
- '6': 'solicitud_pap',
- '7': 'receta',
- }
- if dni and report_type in reports:
- try:
- j = settings.JASPER_CONFIG
- client = JasperClient(**j['conf'])
- report = client.runReport(
- "%s/%s" % (j['repo'], "test123"),#reports[report_type]),
- params={'xdni': dni}
- )
- output = StringIO()
- output.write(report['data'])
- pdf = output.getvalue()
- output.close()
- response = HttpResponse(mimetype="application/pdf")
- response['Content-Disposition'] = "attachment;filename=%s.pdf" %\
- (reports[report_type] + '-' + dni)
- response.write(pdf)
- return response
- except Exception as exc:
- # It should raise 500 here
- # TODO logging
- pass
- raise Http404
Add Comment
Please, Sign In to add comment