Example #1
0
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
Example #2
0
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
Example #3
0
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(),
    )
Example #4
0
 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
Example #5
0
 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
Example #6
0
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
Example #7
0
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
Example #8
0
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(),
                )
Example #9
0
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
Example #10
0
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
Example #11
0
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
Example #12
0
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