def timeslots_pdf_output(timeslots, workshop, request): """ write the pdf output of an attendance sheet to the current request response timeslots The timeslots to render in the attendance sheet (one timeslot = one column) workshop The workshop object request The current request object """ if not hasattr(timeslots, '__iter__'): timeslots = [timeslots] date = workshop.datetime.strftime("%e_%m_%Y") filename = u"atelier_{0}_{1}.pdf".format(date, workshop.id) template = u"autonomie:templates/accompagnement/workshop_pdf.mako" rendering_datas = dict( timeslots=timeslots, workshop=workshop, config=request.config, participants=workshop.sorted_participants, ) html_str = render_html(request, template, rendering_datas) write_pdf(request, filename, html_str) return request.response
def invoices_pdf_view(request): """ Bulk pdf output : output a large amount of invoices/cancelinvoices """ # We retrieve the form query_form = get_invoice_pdf_export_form(request) if 'submit' in request.params: try: appstruct = query_form.validate(request.params.items()) except ValidationFailure as e: # Form validation failed, the error contains the form with the error # messages query_form = e appstruct = None if appstruct is not None: # The form has been validated, we can query for documents start_number = appstruct["start"] end_number = appstruct["end"] year = appstruct['year'] documents = query_documents_for_export(start_number, end_number, year) # We've got some documents to export if documents: # Getting the html output html_string = html(request, documents, bulk=True) filename = u"factures_{0}_{1}_{2}.pdf".format( year, start_number, end_number, ) try: # Placing the pdf datas in the request write_pdf(request, filename, html_string) return request.response except BaseException as e: import traceback traceback.print_exc() request.session.flash(u"Erreur à l'export des factures, \ essayez de limiter le nombre de factures à exporter. Prévenez \ votre administrateur si le problème persiste.", queue="error") else: # There were no documents to export, we send a message to the # end user request.session.flash(u"Aucune facture n'a pu être retrouvée", queue="error") gotolist_btn = ViewLink(u"Liste des factures", "admin_invoices", path="invoices") request.actionmenu.add(gotolist_btn) return dict( title=u"Export massif de factures au format PDF", form=query_form.render(), )
def pdf(request): """ Returns a page displaying an html rendering of the given task """ log.debug(u"# Generating the pdf file #") filename = u"{0}.pdf".format(request.context.number) write_pdf(request, filename, html(request, template)) return request.response
def __call__(self): pdf_css.need() number = self.request.context.internal_number label = force_filename(number) filename = u"{0}.pdf".format(label) html_string = html(self.request) write_pdf(self.request, filename, html_string) return self.request.response
def task_pdf_view(request): """ Returns a pdf rendering of the current task """ filename = u"{0}.pdf".format(request.context.number) html_string = html(request) write_pdf(request, filename, html_string) return request.response
def invoices_pdf_view(request): """ Bulk pdf output : output a large amount of invoices/cancelinvoices """ # We retrieve the form query_form = get_invoice_pdf_export_form(request) try: appstruct = query_form.validate(request.params.items()) except ValidationFailure as e: # Form validation failed, the error contains the form with the error # messages query_form = e appstruct = None if appstruct is not None: # The form has been validated, we can query for documents start_number = appstruct["start"] end_number = appstruct["end"] year = appstruct['year'] documents = query_documents_for_export(start_number, end_number, year) # We've got some documents to export if documents: # Getting the html output html_string = html(request, documents, bulk=True) filename = u"factures_{0}_{1}_{2}.pdf".format(year, start_number, end_number) try: # Placing the pdf datas in the request write_pdf(request, filename, html_string) return request.response except BaseException as e: import traceback traceback.print_exc() request.session.flash(u"Erreur à l'export des factures, \ essayez de limiter le nombre de factures à exporter. Prévenez \ votre administrateur si le problème persiste.", queue="error") else: # There were no documents to export, we send a message to the end # user request.session.flash(u"Aucune facture n'a pu être retrouvée", queue="error") gotolist_btn = ViewLink(u"Liste des factures", "edit", path="invoices") request.actionmenu.add(gotolist_btn) return dict( title=u"Export massif de factures au format PDF", form=query_form.render(), )
def activity_pdf_view(context, request): """ Return a pdf output of the current activity """ date = context.datetime.strftime("%e_%m_%Y") filename = u"rdv_{0}_{1}.pdf".format(date, context.id) template = u"autonomie:templates/activity_pdf.mako" datas = dict(activity=context) html_str = render_html(request, template, datas) write_pdf(request, filename, html_str) return request.response
def activity_pdf_view(context, request): """ Return a pdf output of the current activity """ date = context.datetime.strftime("%e_%m_%Y") filename = u"rdv_{0}_{1}.pdf".format(date, context.id) template = u"autonomie:templates/accompagnement/activity_pdf.mako" datas = dict(activity=context) html_str = render_html(request, template, datas) write_pdf(request, filename, html_str) return request.response
def task_pdf_view(request): """ Returns a pdf rendering of the current task """ from autonomie.resources import pdf_css pdf_css.need() number = request.context.internal_number label = force_filename(number) filename = u"{0}.pdf".format(label) html_string = html(request) write_pdf(request, filename, html_string) return request.response