summaryrefslogtreecommitdiff
path: root/members
diff options
context:
space:
mode:
authorEmmanuelle Delescolle <emma@levit.be>2016-07-02 17:46:58 +0200
committerTim Graham <timograham@gmail.com>2016-07-06 09:59:10 -0400
commit8f2751e00511cefb0ec41f6fb2824813ac674e68 (patch)
tree4d009b566c1d641c16c4d85a8ebeaef5fe69f3d5 /members
parent54e025a531dc64fe72658394de3a4ddd61915b04 (diff)
Fixed #638 -- Added Django usage to corporate membership form.
Diffstat (limited to 'members')
-rw-r--r--members/forms.py9
-rw-r--r--members/migrations/0002_corporatemember_django_usage.py20
-rw-r--r--members/models.py1
-rw-r--r--members/test_forms.py9
-rw-r--r--members/test_views.py1
5 files changed, 40 insertions, 0 deletions
diff --git a/members/forms.py b/members/forms.py
index 5d4b5fb0..c8f16668 100644
--- a/members/forms.py
+++ b/members/forms.py
@@ -17,6 +17,7 @@ class CorporateMemberSignUpForm(forms.ModelForm):
self.radio_select_fields = []
self.label_fields = []
self.fields['logo'].required = True
+ self.fields['django_usage'].required = True
for name, field in self.fields.items():
help_text = field.help_text
if help_text:
@@ -56,6 +57,13 @@ class CorporateMemberSignUpForm(forms.ModelForm):
corporate membership page</a>; you can use the existing descriptions
as a guide for flavor we're looking for."""
)
+ self.fields['django_usage'].widget.attrs['placeholder'] = (
+ 'How does your organization use Django?'
+ )
+ self.fields['django_usage'].help_text = (
+ "This won't be displayed publicly but helps the DSF Board "
+ "to evaluate your application."
+ )
self.fields['amount'].help_text = (
"""Enter an amount above and the appropriate membership level will
be automatically selected. Or select a membership level below and
@@ -75,6 +83,7 @@ class CorporateMemberSignUpForm(forms.ModelForm):
'billing_email',
'address',
'description',
+ 'django_usage',
'amount',
'membership_level',
]
diff --git a/members/migrations/0002_corporatemember_django_usage.py b/members/migrations/0002_corporatemember_django_usage.py
new file mode 100644
index 00000000..290c7a76
--- /dev/null
+++ b/members/migrations/0002_corporatemember_django_usage.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-07-02 10:28
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('members', '0001_squashed_0004_corporatemember_notes'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='corporatemember',
+ name='django_usage',
+ field=models.TextField(blank=True, help_text='Not displayed publicly.', verbose_name='How does your organization use Django'),
+ ),
+ ]
diff --git a/members/models.py b/members/models.py
index 8cd046ad..bcc2f132 100644
--- a/members/models.py
+++ b/members/models.py
@@ -77,6 +77,7 @@ class CorporateMember(models.Model):
billing_email = models.EmailField(blank=True, help_text='If different from contact email.',)
membership_level = models.IntegerField(choices=MEMBERSHIP_LEVELS)
address = models.TextField(blank=True)
+ django_usage = models.TextField(blank=True, help_text='Not displayed publicly.')
notes = models.TextField(blank=True, help_text='Not displayed publicly.')
objects = CorporateMemberManager()
diff --git a/members/test_forms.py b/members/test_forms.py
index 9b9ade49..9b4c8a83 100644
--- a/members/test_forms.py
+++ b/members/test_forms.py
@@ -20,6 +20,7 @@ class CorporateMemberCorporateMemberSignUpFormTests(TestCase):
'membership_level': 2,
'address': 'USA',
'description': 'We make widgets!',
+ 'django_usage': 'fun',
'amount': 2000,
}
self.file_data = {'logo': test_image}
@@ -30,6 +31,7 @@ class CorporateMemberCorporateMemberSignUpFormTests(TestCase):
self.assertTrue(form.is_valid())
instance = form.save()
self.assertEqual(instance.display_name, data['display_name'])
+ self.assertEqual(instance.django_usage, 'fun')
self.assertEqual(instance.invoice_set.get().amount, data['amount'])
self.assertEqual(len(mail.outbox), 1)
@@ -54,3 +56,10 @@ class CorporateMemberCorporateMemberSignUpFormTests(TestCase):
form = CorporateMemberSignUpForm(self.valid_data) # missing request.FILES
self.assertFalse(form.is_valid())
self.assertEqual(form.errors, {'logo': ['This field is required.']})
+
+ def test_django_usage_required(self):
+ data = self.valid_data.copy()
+ del data['django_usage']
+ form = CorporateMemberSignUpForm(data, self.file_data)
+ self.assertFalse(form.is_valid())
+ self.assertEqual(form.errors, {'django_usage': ['This field is required.']})
diff --git a/members/test_views.py b/members/test_views.py
index ed536187..a4c705b1 100644
--- a/members/test_views.py
+++ b/members/test_views.py
@@ -104,6 +104,7 @@ class CorporateMemberJoinViewTests(TestCase):
'membership_level': 2,
'address': 'USA',
'description': 'We make widgets!',
+ 'django_usage': 'fun',
'amount': 2000,
}
response = self.client.post(reverse('members:corporate-members-join'), data)