Moved contact form model in order to be reusable by ungleich app, Created unit test for digitalglarus contact page, Created ungleich contact page, Created unit test for ungleich contact page, Created unit test for forms .
This commit is contained in:
parent
3c0b414b10
commit
7dd4f7e70a
37 changed files with 425 additions and 31 deletions
|
|
@ -1,5 +1,6 @@
|
|||
from django.contrib import admin
|
||||
from .models import Message, Supporter, DGGallery, DGPicture
|
||||
from .models import Supporter, DGGallery, DGPicture
|
||||
from utils.models import ContactMessage
|
||||
#
|
||||
class DGPictureInline(admin.StackedInline):
|
||||
model = DGPicture
|
||||
|
|
@ -8,5 +9,5 @@ class DGGalleryAdmin(admin.ModelAdmin):
|
|||
inlines = [DGPictureInline]
|
||||
|
||||
admin.site.register(DGGallery, DGGalleryAdmin)
|
||||
admin.site.register(Message)
|
||||
admin.site.register(ContactMessage)
|
||||
admin.site.register(Supporter)
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
from django import forms
|
||||
from .models import Message
|
||||
from django.template.loader import render_to_string
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
class ContactUsForm(forms.ModelForm):
|
||||
error_css_class = 'autofocus'
|
||||
|
||||
class Meta:
|
||||
model = Message
|
||||
fields = ['name', 'email', 'phone_number', 'message']
|
||||
widgets = {
|
||||
'name': forms.TextInput(attrs={'class': u'form-control'}),
|
||||
'email': forms.TextInput(attrs={'class': u'form-control'}),
|
||||
'phone_number': forms.TextInput(attrs={'class': u'form-control'}),
|
||||
'message': forms.Textarea(attrs={'class': u'form-control'}),
|
||||
}
|
||||
labels = {
|
||||
'name': _('Name'),
|
||||
'email': _('Email'),
|
||||
'phone_number': _('Phone number'),
|
||||
'message': _('Message'),
|
||||
}
|
||||
|
||||
def send_email(self):
|
||||
text_content = render_to_string('emails/contact.txt', {'data': self.cleaned_data})
|
||||
html_content = render_to_string('emails/contact.html', {'data': self.cleaned_data})
|
||||
email = EmailMultiAlternatives('Subject', text_content)
|
||||
email.attach_alternative(html_content, "text/html")
|
||||
email.to = ['info@digitalglarus.ch']
|
||||
email.send()
|
||||
18
digitalglarus/migrations/0006_delete_message.py
Normal file
18
digitalglarus/migrations/0006_delete_message.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9.4 on 2016-04-10 17:10
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('digitalglarus', '0005_auto_20160407_0519'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.DeleteModel(
|
||||
name='Message',
|
||||
),
|
||||
]
|
||||
|
|
@ -3,21 +3,10 @@ from cms.models import CMSPlugin
|
|||
from filer.fields.image import FilerImageField
|
||||
|
||||
|
||||
class Message(models.Model):
|
||||
name = models.CharField(max_length=200)
|
||||
email = models.EmailField()
|
||||
phone_number = models.CharField(max_length=200)
|
||||
message = models.TextField()
|
||||
received_date = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
def __str__(self):
|
||||
return "%s - %s - %s" % (self.name, self.email, self.received_date)
|
||||
|
||||
|
||||
class Supporter(models.Model):
|
||||
name = models.CharField(max_length=200)
|
||||
description = models.TextField(null=True, blank=True)
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return "%s" % (self.name)
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
</h2>
|
||||
<hr>
|
||||
<p>{% static_placeholder "digital_glarus_contact_form_text" %}</p>
|
||||
<form action="" method="post" >
|
||||
<form action="{% url 'digitalglarus:contact' %}" method="post" >
|
||||
{% csrf_token %}
|
||||
<div class="row">
|
||||
<div autofocus class="form-group col-lg-4 {% if form.name.errors %}has-error text-danger{% endif %}">
|
||||
|
|
|
|||
23
digitalglarus/test_views.py
Normal file
23
digitalglarus/test_views.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
from django.test import TestCase
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.urlresolvers import resolve
|
||||
|
||||
|
||||
class ContactViewTest(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.url = reverse('digitalglarus:contact')
|
||||
self.data = {
|
||||
'name': 'test',
|
||||
'email': 'test@gmail.com',
|
||||
'phone_number': '32123123123123',
|
||||
'message': 'This is a message',
|
||||
}
|
||||
|
||||
def url_resolve_to_view_correctly(self):
|
||||
found = resolve(self.url)
|
||||
self.assertEqual(found.func.__name__, self.view.__name__)
|
||||
|
||||
def test_any_user_should_contact_us(self):
|
||||
response = self.client.post(self.url, self.data, follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
|
|
@ -3,23 +3,22 @@ import datetime
|
|||
from django.shortcuts import get_object_or_404, render
|
||||
from django.forms import ModelForm
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.urlresolvers import reverse_lazy
|
||||
from django.utils.translation import get_language
|
||||
from djangocms_blog.models import Post
|
||||
from django.core.urlresolvers import resolve
|
||||
from django.contrib import messages
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
|
||||
from .models import Message, Supporter
|
||||
from .forms import ContactUsForm
|
||||
from .models import Supporter
|
||||
from utils.forms import ContactUsForm
|
||||
from django.views.generic.edit import FormView
|
||||
|
||||
|
||||
class ContactView(FormView):
|
||||
template_name = 'contact.html'
|
||||
form_class = ContactUsForm
|
||||
success_url = '/digitalglarus/contact/'
|
||||
success_url = reverse_lazy('digitalglarus:contact')
|
||||
success_message = _('Message Successfully Sent')
|
||||
|
||||
def form_valid(self, form):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue