diff options
| author | Emmanuelle Delescolle <emma@levit.be> | 2016-07-02 17:46:58 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-07-06 09:59:10 -0400 |
| commit | 8f2751e00511cefb0ec41f6fb2824813ac674e68 (patch) | |
| tree | 4d009b566c1d641c16c4d85a8ebeaef5fe69f3d5 /members | |
| parent | 54e025a531dc64fe72658394de3a4ddd61915b04 (diff) | |
Fixed #638 -- Added Django usage to corporate membership form.
Diffstat (limited to 'members')
| -rw-r--r-- | members/forms.py | 9 | ||||
| -rw-r--r-- | members/migrations/0002_corporatemember_django_usage.py | 20 | ||||
| -rw-r--r-- | members/models.py | 1 | ||||
| -rw-r--r-- | members/test_forms.py | 9 | ||||
| -rw-r--r-- | members/test_views.py | 1 |
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) |
