def finaid_message(request, pks):
"""Add a message to some applications"""
if not is_reviewer(request.user):
return HttpResponseForbidden(_(u"Not authorized for this page"))
applications = FinancialAidApplication.objects.filter(pk__in=pks.split(","))\
.select_related('user')
if not applications.exists():
messages.add_message(request, messages.ERROR, _(u"No applications selected"))
return redirect('finaid_review')
if request.method == 'POST':
for application in applications:
message = FinancialAidMessage(user=request.user,
application=application)
message_form = ReviewerMessageForm(request.POST, instance=message)
if message_form.is_valid():
message = message_form.save()
# Send notice to reviewers/pycon-aid alias, and the applicant if visible
context = email_context(request, application, message)
send_email_message("reviewer/message",
# From whoever is logged in clicking the buttons
from_=request.user.email,
to=[email_address()],
context=context,
headers={'Reply-To': email_address()}
)
# If visible to applicant, notify them as well
if message.visible:
send_email_message("applicant/message",
from_=request.user.email,
to=[application.user.email],
context=context,
headers={'Reply-To': email_address()}
)
messages.add_message(request, messages.INFO, _(u"Messages sent"))
return redirect(reverse('finaid_review', kwargs=dict(pks=pks)))
else:
message_form = ReviewerMessageForm()
return render(request, "finaid/reviewer_message.html", {
'applications': applications,
'form': message_form,
})
评论列表
文章目录