示例#1
0
def contact(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            sender_name = request.POST.get('name')
            sender_email = request.POST.get('email')
            subject = request.POST.get('subject')
            message = request.POST.get('message')

            email = EmailMessage(
                'Message From Website.',
                message,
                sender_email, [
                    '*****@*****.**', '*****@*****.**',
                    '*****@*****.**'
                ],
                headers={'Reply-To': sender_email})
            email.send()

            # if sender_name and sender_email and subject and message:
            #     try:
            #         send_mail(subject, message, sender_email, ['*****@*****.**'],
            #         fail_silently=False,
            #         )
            #     except BadHeaderError:
            #         return HttpResponse("Bad Header")
            return render(request, 'contact_form/mail_received.html', {})
    form = ContactForm()
    return render(request, 'contact_form/contact_form.html', {'form': form})
示例#2
0
def contact_form(request):
    if request.method == "POST":
        form = ContactForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Your request submitted successfully')
        else:
            messages.error(request, 'Please fix the errors and re-submit')
    else:
        form = ContactForm()
    return render(request, "contact-form.html", {"form": form})
示例#3
0
 def get_context_data(self, **kwargs):
     context = super(HomeView, self).get_context_data(**kwargs)
     context['view'] = 'home'
     context['top_mixtures'] = Mixture.published.top_rates()
     context['top_categories'] = Category.final.top_content()
     context['form'] = ContactForm(request=self.request)
     return context
 def test_invalid_form(self):
     data = dict(sender_name='test',
                 sender_email='*****@*****.**',
                 subject='',
                 message='')
     form = ContactForm(data=data)
     self.assertFalse(form.is_valid())
示例#5
0
def home_page(request):
    form = ContactForm(request.POST or None)

    # Get last three projects
    projects = (ProjectItem.objects.all())[:3]

    # get about info
    try:
        about_page = (About.objects.all())[0]
        about = about_page.get_cleaned_data()
    except:
        about = {}

    # Check if it form redirection and send response
    if(request.method == "POST"):
        response = manage_form(request, form, send_email)
        return HttpResponse(json.dumps(response), content_type="application/json")

    context = {
        "form": form,
        "projects": projects,
        "about": about.get("about", ""),
        "about_img": about.get("about_img", ""),
        "developer_skills": about.get("developer_skills", ""),
        "designer_skills": about.get("designer_skills", ""),
    }

    tags = []
    # Get tags
    for i in range(len(projects)):
        tags.append(projects[i].tags.all())

    context["tags"] = tags

    return render(request, "home_page/home_page.html", context)
示例#6
0
文件: views.py 项目: ariel17/poppurri
    def get_context_data(self, **kwargs):
        context = super(MixtureDetailView, self).get_context_data(**kwargs)

        try:
            if 'slug' in self.kwargs:  # this is backward compatibility
                mixture = Mixture.published.get(
                    Q(slug_en=self.kwargs['slug'])
                    | Q(slug_es=self.kwargs['slug']))
            else:
                # normal mixture detail request
                mixture = Mixture.published.get(pk=self.kwargs['pk'])

        except Mixture.DoesNotExist:
            raise Http404()

        context['object'] = mixture

        currency_code = self.request.GET.get(
            'c', settings.CURRENCY_DEFAULT).upper()

        currency = Currency.objects.get(code=currency_code)
        context['currency'] = currency

        context['category_tree'] = Category.tree(mixture.category)
        context['form'] = ContactForm(request=self.request)
        return context
示例#7
0
    def test_valid_data_required(self):
        """
        Can't try to build the message dict unless data is valid.

        """
        data = {"name": "Test", "body": "Test message"}
        form = ContactForm(request=self.request(), data=data)
        self.assertRaises(ValueError, form.get_message_dict)
        self.assertRaises(ValueError, form.get_context)
示例#8
0
 def test_valid_data_required(self):
     """
     Can't try to build the message dict unless data is valid.
     
     """
     request = RequestFactory().request()
     data = {'name': 'Test',
             'body': 'Test message'}
     form = ContactForm(request=request, data=data)
     self.assertRaises(ValueError, form.get_message_dict)
 def test_valid_form(self):
     data = dict(
         sender_name='test',
         sender_email='*****@*****.**',
         subject=self.subject_foo.id,
         message='test message from user foo',
         captcha='',
     )
     form = ContactForm(data=data)
     self.assertTrue(form.is_valid())
示例#10
0
    def test_no_sites(self):
        """
        Sites integration works with or without installed
        contrib.sites.

        """
        with self.modify_settings(
                INSTALLED_APPS={"remove": ["django.contrib.sites"]}):
            form = ContactForm(request=self.request(), data=self.valid_data)
            self.assertTrue(form.is_valid())

            form.save()
            self.assertEqual(1, len(mail.outbox))
示例#11
0
    def test_send(self):
        """
        Valid form can and does in fact send email.

        """
        form = ContactForm(request=self.request(), data=self.valid_data)
        self.assertTrue(form.is_valid())

        form.save()
        self.assertEqual(1, len(mail.outbox))

        message = mail.outbox[0]
        self.assertTrue(self.valid_data["body"] in message.body)
        self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email)
        self.assertEqual(form.recipient_list, message.recipients())
示例#12
0
    def test_recipient_list(self):
        """
        Passing recipient_list when instantiating ContactForm properly
        overrides the list of recipients.

        """
        recipient_list = ["*****@*****.**"]
        form = ContactForm(request=self.request(),
                           data=self.valid_data,
                           recipient_list=recipient_list)
        self.assertTrue(form.is_valid())

        form.save()
        self.assertEqual(1, len(mail.outbox))

        message = mail.outbox[0]
        self.assertEqual(recipient_list, message.recipients())
示例#13
0
def blog_home(request, template="blog/blog_index_page.html"):
    """
    This is the blog home view.
    """
    # Gather all blogs to display.
    blog_queryset = BlogPage.objects.all()
    print("I'm still here!")

    form = ContactForm()

    if form._post_clean() is valid:
        # Now do something with the submitted form content.
        print("THE FORM IS VALID...")
    else:
        messages.info("There was a problem in submitting the form.")

    return response(template, request, {'blogpages': blog_queryset})
示例#14
0
    def test_no_sites(self):
        """
        Sites integration works with or without installed
        contrib.sites.
        
        """
        old_installed = Site._meta.installed
        Site._meta.installed = False

        request = RequestFactory().request()
        data = {'name': 'Test',
                'email': '*****@*****.**',
                'body': 'Test message'}
        form = ContactForm(request=request, data=data)
        self.assertTrue(form.is_valid())

        form.save()
        self.assertEqual(1, len(mail.outbox))

        Site._meta.installed = old_installed
示例#15
0
    def test_send(self):
        """
        Valid form can and does in fact send email.
        
        """
        request = RequestFactory().request()
        data = {'name': 'Test',
                'email': '*****@*****.**',
                'body': 'Test message'}
        form = ContactForm(request=request, data=data)
        self.assertTrue(form.is_valid())

        form.save()
        self.assertEqual(1, len(mail.outbox))

        message = mail.outbox[0]
        self.assertEqual([data['email']],
                         message.recipients())
        self.assertTrue(data['body'] in message.body)
        self.assertEqual(settings.DEFAULT_FROM_EMAIL,
                         message.from_email)
示例#16
0
    def test_send(self):
        """
        Valid data through the view results in a successful send.

        """
        contact_url = reverse("contact_form")
        data = {
            "name": "Test",
            "email": "*****@*****.**",
            "body": "Test message"
        }

        response = self.client.post(contact_url, data=data)

        self.assertRedirects(response, reverse("contact_form_sent"))

        self.assertEqual(1, len(mail.outbox))

        message = mail.outbox[0]
        self.assertTrue(data["body"] in message.body)
        self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email)
        form = ContactForm(request=RequestFactory().request)
        self.assertEqual(form.recipient_list, message.recipients())
def contact_processor(request):
    return {'contact_form': ContactForm(request=request)}