diff --git a/ietf/secr/areas/forms.py b/ietf/secr/areas/forms.py index 0e13287213..edd3993799 100644 --- a/ietf/secr/areas/forms.py +++ b/ietf/secr/areas/forms.py @@ -134,31 +134,12 @@ def clean_name(self): def save(self, force_insert=False, force_update=False, commit=True): area = super(AddAreaModelForm, self).save(commit=False) - area_type = GroupTypeName.objects.get(name='area') - area.type = area_type + area.type = GroupTypeName.objects.get(slug='area') + area.parent = Group.objects.get(acronym='iesg') if commit: area.save() return area -# class AddAreaForm(forms.Form): -# acronym = forms.CharField(max_length=16,required=True) -# name = forms.CharField(max_length=80,required=True) -# status = forms.IntegerField(widget=forms.Select(choices=STATE_CHOICES),required=True) -# start_date = forms.DateField() -# comments = forms.CharField(widget=forms.Textarea(attrs={'rows':'1'}),required=False, strip=False) -# -# def clean_acronym(self): -# # get name, strip leading and trailing spaces -# name = self.cleaned_data.get('acronym', '').strip() -# # check for invalid characters -# r1 = re.compile(r'[a-zA-Z\-\. ]+$') -# if name and not r1.match(name): -# raise forms.ValidationError("Enter a valid acronym (only letters,period,hyphen allowed)") -# # ensure doesn't already exist -# if Group.objects.filter(acronym=name).exists(): -# raise forms.ValidationError("This acronym already exists. Enter a unique one.") -# return name - class AreaDirectorForm(forms.Form): ad_name = forms.CharField(max_length=100,label='Name',help_text="To see a list of people type the first name, or last name, or both.") #login = forms.EmailField(max_length=75,help_text="This should be the person's primary email address.") diff --git a/ietf/secr/areas/tests.py b/ietf/secr/areas/tests.py index dcc9091328..cee6554437 100644 --- a/ietf/secr/areas/tests.py +++ b/ietf/secr/areas/tests.py @@ -33,3 +33,21 @@ def test_view(self): self.client.login(username="secretary", password="secretary+password") response = self.client.get(url) self.assertEqual(response.status_code, 200) + + def test_add(self): + "Add Test" + make_test_data() + url = reverse('ietf.secr.areas.views.add') + self.client.login(username="secretary", password="secretary+password") + data = {'acronym':'ta', + 'name':'Test Area', + 'state':'active', + 'start_date':'2017-01-01', + 'awp-TOTAL_FORMS':'2', + 'awp-INITIAL_FORMS':'0', + 'submit':'Save'} + response = self.client.post(url,data) + self.assertRedirects(response, reverse('ietf.secr.areas.views.list_areas')) + area = Group.objects.get(acronym='ta') + iesg = Group.objects.get(acronym='iesg') + self.assertTrue(area.parent == iesg) \ No newline at end of file diff --git a/ietf/secr/areas/views.py b/ietf/secr/areas/views.py index 7bbc8eaee4..1099303ce6 100644 --- a/ietf/secr/areas/views.py +++ b/ietf/secr/areas/views.py @@ -83,7 +83,7 @@ def add(request): group_url.save() messages.success(request, 'The Area was created successfully!') - return redirect('areas') + return redirect('ietf.secr.areas.views.list_areas') else: # display initial forms area_form = AddAreaModelForm()