Exemple #1
0
def pdf_parent_instructions(request, lang, group_id=None):
    """Render a PDF for sending home with parents."""
    group = get_object_or_404(
        model.Group.objects.filter(
            owner=request.user.profile, id=group_id)) if group_id else None

    lang_verbose = dict(settings.LANGUAGES).get(lang, lang)

    filename = "Portfoliyo {0}{1}.pdf".format(
            lang_verbose,
            " - {0}".format(unidecode(group.name)) if group else u"",
            )

    response = http.HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = (
        'attachment; filename="%s"' % filename.encode('utf-8'))

    pdf.generate_instructions_pdf(
        stream=response,
        lang=lang,
        name=request.user.profile.name or "Your Child's Teacher",
        code=group.code if group else request.user.profile.code or '',
        phone=request.user.profile.source_phone,
        group=group,
        )

    tracking.track(request, 'downloaded signup pdf', language=lang)

    return response
def test_generate_instructions_pdf_no_group():
    """Can omit group argument."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='es',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
    )
    stream.close()
Exemple #3
0
def test_generate_instructions_pdf_no_group():
    """Can omit group argument."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='es',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
        )
    stream.close()
def test_generate_instructions_pdf():
    """Smoke test - writes to the stream and doesn't blow up."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='en',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
        group=factories.GroupFactory.build(name='Group'),
    )
    stream.close()
def test_generate_instructions_pdf_unicode_group():
    """Group can have unicode name."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='es',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
        group=factories.GroupFactory.build(name=u'Grúpo'),
    )
    stream.close()
Exemple #6
0
def test_generate_instructions_pdf():
    """Smoke test - writes to the stream and doesn't blow up."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='en',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
        group=factories.GroupFactory.build(name='Group'),
        )
    stream.close()
Exemple #7
0
def test_generate_instructions_pdf_unicode_group():
    """Group can have unicode name."""
    stream = io.BytesIO()
    pdf.generate_instructions_pdf(
        stream,
        lang='es',
        name='John Doe',
        code='ABCDEF',
        phone='+3214567890',
        group=factories.GroupFactory.build(name=u'Grúpo'),
        )
    stream.close()