Пример #1
0
def contact(request):
    """
    Page with a contact form, which allows the user to send a general
    purpose email to the site admins.
    """
    if request.method == "POST":
        contact_form = ContactForm(request.user, request.POST)

        if contact_form.is_valid():
            # Set up the subject and message.
            if request.user.is_authenticated():
                username = (request.user.username,)
                base_subject = contact_form.cleaned_data["subject"]
                user_email = request.user.email
                base_message = contact_form.cleaned_data["message"]
            else:
                username = "******"
                base_subject = contact_form.cleaned_data["subject"]
                user_email = contact_form.cleaned_data["email"]
                base_message = contact_form.cleaned_data["message"]

            subject = str_consts.CONTACT_EMAIL_SUBJECT_FMTSTR.format(username=username, base_subject=base_subject)
            message = str_consts.CONTACT_EMAIL_MESSAGE_FMTSTR.format(
                username=username, user_email=user_email, base_message=base_message
            )

            # Send the mail.
            try:
                mail_admins(subject=subject, message=message)
            except BadHeaderError:
                messages.error(request, "Sorry, the email could not be sent. It didn't pass a security check.")
            else:
                messages.success(request, msg_consts.CONTACT_EMAIL_SENT)
                return HttpResponseRedirect(reverse("index"))
        else:
            messages.error(request, msg_consts.FORM_ERRORS)

    else:  # GET
        contact_form = ContactForm(request.user)

    return render_to_response(
        "lib/contact.html", {"contact_form": contact_form}, context_instance=RequestContext(request)
    )
Пример #2
0
def contact(request):
    """
    Page with a contact form, which allows the user to send a general
    purpose email to the site admins.
    """
    if request.method == 'POST':
        contact_form = ContactForm(request.POST)

        if contact_form.is_valid():
            # Set up the subject and message.
            subject = str_consts.CONTACT_EMAIL_SUBJECT_FMTSTR.format(
                username=request.user.username,
                base_subject=contact_form.cleaned_data['subject'],
            )
            message = str_consts.CONTACT_EMAIL_MESSAGE_FMTSTR.format(
                username=request.user.username,
                user_email=request.user.email,
                base_message=contact_form.cleaned_data['message'],
            )

            # Send the mail.
            try:
                mail_admins(
                    subject=subject,
                    message=message,
                )
            except BadHeaderError:
                messages.error(request, "Sorry, the email could not be sent. An invalid header was found.")
            else:
                messages.success(request, msg_consts.CONTACT_EMAIL_SENT)
        else:
            messages.error(request, msg_consts.FORM_ERRORS)

    else: # GET
        contact_form = ContactForm()

    return render_to_response('lib/contact.html', {
        'contact_form': contact_form,
        },
        context_instance=RequestContext(request)
    )