예제 #1
0
def evaluation_emailpreview(request, session_id):
    """
    Preview email - including HTML body, and ability to edit email
    """
    session = get_object_or_404(Session, id=session_id)

    if request.method == 'POST':
        app_id = []
        for field in request.POST:
            if field[0:4] == 'app-':
                try:
                    app_id.append(int(field[4:]))
                except:
                    pass
        applications = Application.objects.filter(id__in=app_id, session=session)
    
        form = EmailForm(request.POST)
        
        if form.is_valid():
            data = form.cleaned_data
        else:
            data = None
            
        return render_to_response("volunteering/evaluation/email_preview.html",
                                  {'form': form,
                                   'data': data,
                                   'applications': applications,
                                   'session': session},
                                   context_instance=RequestContext(request))
    else:
        return HttpResponseForbidden()
예제 #2
0
def evaluation_emailsend(request, session_id):
    session = get_object_or_404(Session, id=session_id)

    if request.method == 'POST':
        app_id = []
        for field in request.POST:
            if field[0:4] == 'app-':
                try:
                    app_id.append(int(field[4:]))
                except:
                    pass
        applications = Application.objects.filter(id__in=app_id, session=session)
    
        form = EmailForm(request.POST)
        
        if form.is_valid():     # should always be true..!!!
            
            sender = '"%s" <%s>' % (form.cleaned_data['sendername'],
                                    form.cleaned_data['senderemail'])
    
            emails = []
            for app in applications:
                emails.append(app.profile.user2.email)
                try:
                    eval = app.evaluation
                    eval.last_email = datetime.now()
                    eval.save()
                except:
                    pass
    
            send_mail(subject=form.cleaned_data['subject'],
                      txtMessage=None,
                      htmlMessage=form.cleaned_data['body'],
                      fromemail=sender,
                      recipients=emails,
                      use_template=False)
    
        request.user.message_set.create(message="Email sent")
        return HttpResponseRedirect(reverse('evaluation_list', kwargs={'session_id': session.id}))
    else:
        return HttpResponseForbidden()