Example #1
0
def bulk_send_worksample_email(request):
    if request.method != 'POST':
        editor = CKEditorWidget(config_name='admin',
                                attrs={
                                    'id': 'email_template_editor',
                                })
        template = 'bulk_send_worksample_email.haml'
        templates = list(
            WorkSampleTemplate.objects.filter(is_active=True, ).values_list(
                'pk', 'description'))
        emails = request.session.pop('emails', None)

        form = request.session.get('bulk_create_form', {})
        editor_html = editor.render('email_template',
                                    form.get('email_template'))

        context = dict(
            worksample_templates=templates,
            form=form,
            emails=emails,
            editor_html=editor_html,
        )
        return render(request, template, context)

    request.session['bulk_create_form'] = request.POST
    form = BulkCreateSendForm(request.POST)
    if form.is_valid():
        emails = form.send_emails(request)
        session_emails = []
        for email_sent, email in emails:
            body = email.body
            if email.alternatives:
                body = email.alternatives[0][0]
            session_email = dict(
                was_sent=email_sent,
                subject=email.subject,
                to=email.to[0],
                from_address=email.from_email,
                body=body,
            )
            session_emails.append(session_email)
        request.session['emails'] = session_emails
    return redirect('bulk_create_worksample')