fiz o passo a passo e nao funcionou, a pergunta eh como chamar a view:
models:
reports.py
# coding: utf8
from geraldo import Report, landscape, ReportBand, ObjectValue
from reportlab.lib.pagesizes import A5
from reportlab.lib.units import cm
class ReportPurchase(Report):
title = 'Teste de PDF'
author = 'Ovidio Marinho - Casa Civil'
page_size = landscape(A5)
margin_left = 2*cm
margin_top = 0.5*cm
margin_right = 0.5*cm
margin_bottom = 0.5*cm
class band_detail(ReportBand):
height = 0.5*cm
elements=(
ObjectValue(attribute_name='id', left=0.5*cm),
ObjectValue(attribute_name='created_by', left=3*cm,
get_value=lambda instance:
instance.created_by.strftime('%d/%m/%Y')),
)
controllers:
def purchase_report():
from reports import ReportPurchase
from geraldo.generators import PDFGenerator
import gluon.contenttype
import StringIO
resp = StringIO.StringIO()
purchases = db(
db.company.id >
0 ).select(orderby=db.cargos.company |
db.company.id )
report = ReportPurchase ( queryset = purchases )
report.generate_by ( PDFGenerator , filename = resp )
resp.seek(0)
response.headers['Content-
Type']=gluon.contenttype.contenttype('.pdf' )
filename = "%s _Purchases.pdf" % (request.env.server_name )
response.headers['Content-disposition']="attachment;filename=\"
%s \" " % filename
return resp.read()
e a view????