예제 #1
0
파일: views.py 프로젝트: george-k/bio
def edit_contact(request):
    """ Edit contact """
    #Get contact
    try:
        contact = Contact.objects.get(pk=1)
    except Contact.DoesNotExist:
        return HttpResponseRedirect('/')
    #Handle request
    if request.method == 'POST':
        form = ContactForm(request.POST, instance=contact)
        if form.is_valid():
            try:
                form.save()
                form.result = True
                form.message = ugettext(u'Contact updated successfully')
            except DatabaseError:
                form.result = False
                form.message = ugettext(u'Contact save error. Try again.')
        else:
            form.result = False
            form.message = ugettext(u"Correct errors, please")
        if request.is_ajax():
            response = {'message': form.message}
            if not form.result:
                response['result'] = 'error'
                response['errors'] = form.errors
            else:
                response['result'] = 'ok'
            return HttpResponse(dumps(response))
    else:
        form = ContactForm(instance=contact)
        form.message = ''
    return {'contact_form': form}
예제 #2
0
    def test_post_invalid_form(
        self,
        monkeypatch,
        client,
        name: str,
        contact_email: str,
        subject: str,
        message: str,
    ):
        """
        When invalid forms are submitted, ensures we have a page rediction
        (return code 302) and that the email function is not called,
        """

        mock_send_mail = Mock()
        monkeypatch.setattr("main.views.send_mail", mock_send_mail)

        invalid_form = ContactForm()
        invalid_form.name = name
        invalid_form.contact_email = contact_email
        invalid_form.subject = subject
        invalid_form.message = message

        contact_us_url = reverse("contact_us")
        response = client.post(
            contact_us_url,
            data=invalid_form.json(),
            HTTP_REFERER=contact_us_url,
        )

        mock_send_mail.assert_not_called()

        assert "main/contact_us.html" in (t.name for t in response.templates)
        assert response.status_code == 200
예제 #3
0
def mock_contact_form() -> ContactForm:
    """Fixture for a valid ContactForm"""
    mock_form = ContactForm()
    mock_form.name = "dummy name"
    mock_form.contact_email = "*****@*****.**"
    mock_form.subject = "dummy subject"
    mock_form.message = "dummy content"
    return mock_form
예제 #4
0
'''
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.models import User
from django.db.models import Count
from django.core.mail import send_mail
from blogi.models import Post
from taggit.models import Tag
'''

from main.forms import ContactForm
import environ

contact = ContactForm()
contact.message="Hello Hal! It works1"
contact.name = "Hal Vong"
#contact.send_mail()