Skip to content

Commit b9e94b2

Browse files
committed
Refactor members and chair edit forms of group with the new models.
Delete public key edit form becouse FormPreview doesn't work with FileField see https://code.djangoproject.com/ticket/7808 See ietf-tools#904 ietf-tools#905 - Legacy-Id: 5093
1 parent ddb10c4 commit b9e94b2

2 files changed

Lines changed: 14 additions & 51 deletions

File tree

ietf/nomcom/forms.py

Lines changed: 10 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,21 @@
77

88
from ietf.ietfauth.decorators import has_role
99
from ietf.utils import fields as custom_fields
10-
from ietf.group.models import Role
11-
from ietf.nomcom.models import NomComGroup
10+
from ietf.group.models import Group, Role
1211
from ietf.name.models import RoleName
1312
from ietf.person.models import Email
1413

1514

1615
ROLODEX_URL = getattr(settings, 'ROLODEX_URL', None)
1716

1817

18+
def get_group_or_404(year):
19+
return get_object_or_404(Group,
20+
acronym__icontains=year,
21+
state__slug='active',
22+
nomcom__isnull=False)
23+
24+
1925
class EditMembersForm(forms.Form):
2026

2127
members = custom_fields.MultiEmailField(label="Members email", required=False)
@@ -27,9 +33,7 @@ class EditMembersFormPreview(FormPreview):
2733

2834
def __call__(self, request, *args, **kwargs):
2935
year = kwargs['year']
30-
group = get_object_or_404(NomComGroup,
31-
acronym__icontains=year,
32-
state__slug='active')
36+
group = get_group_or_404(year)
3337
is_group_chair = group.is_chair(request.user)
3438
is_secretariat = has_role(request.user, "Secretariat")
3539
if not is_secretariat and not is_group_chair:
@@ -95,9 +99,7 @@ class EditChairFormPreview(FormPreview):
9599

96100
def __call__(self, request, *args, **kwargs):
97101
year = kwargs['year']
98-
group = get_object_or_404(NomComGroup,
99-
acronym__icontains=year,
100-
state__slug='active')
102+
group = get_group_or_404(year)
101103
is_secretariat = has_role(request.user, "Secretariat")
102104
if not is_secretariat:
103105
return HttpResponseForbidden("Must be a secretariat")
@@ -139,40 +141,3 @@ def done(self, request, cleaned_data):
139141
email=chair_info['email_obj'])
140142

141143
return HttpResponseRedirect(reverse('edit_chair', kwargs={'year': self.year}))
142-
143-
144-
class EditPublicKeyForm(forms.Form):
145-
146-
public_key = forms.CharField(label="Public Key", widget=forms.Textarea)
147-
148-
149-
class EditPublicKeyFormPreview(FormPreview):
150-
form_template = 'nomcom/edit_publickey.html'
151-
preview_template = 'nomcom/edit_publickey_preview.html'
152-
153-
def __call__(self, request, *args, **kwargs):
154-
year = kwargs['year']
155-
group = get_object_or_404(NomComGroup,
156-
acronym__icontains=year,
157-
state__slug='active')
158-
is_group_chair = group.is_chair(request.user)
159-
if not is_group_chair:
160-
return HttpResponseForbidden("Must be group chair")
161-
162-
self.state['group'] = group
163-
self.group = group
164-
self.year = year
165-
166-
return super(EditPublicKeyFormPreview, self).__call__(request, *args, **kwargs)
167-
168-
def parse_params(self, *args, **kwargs):
169-
170-
if self.group.public_key:
171-
self.form.base_fields['public_key'].initial = self.group.public_key
172-
173-
def done(self, request, cleaned_data):
174-
public_key = cleaned_data['public_key']
175-
if public_key:
176-
self.group.public_key = public_key
177-
self.group.save()
178-
return HttpResponseRedirect(reverse('edit_publickey', kwargs={'year': self.year}))

ietf/nomcom/urls.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
from django.conf.urls.defaults import patterns, url
2-
#from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
3-
#EditMembersForm, EditMembersFormPreview, \
4-
#EditPublicKeyForm, EditPublicKeyFormPreview
2+
from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
3+
EditMembersForm, EditMembersFormPreview
54

65
urlpatterns = patterns('ietf.nomcom.views',
7-
#url(r'^(?P<year>\d{4})/edit-chair/$', EditChairFormPreview(EditChairForm), name='edit_chair'),
8-
#url(r'^(?P<year>\d{4})/edit-members/$', EditMembersFormPreview(EditMembersForm), name='edit_members'),
9-
#url(r'^(?P<year>\d{4})/edit-publickey/$', EditPublicKeyFormPreview(EditPublicKeyForm), name='edit_publickey'),
6+
url(r'^(?P<year>\d{4})/edit-chair/$', EditChairFormPreview(EditChairForm), name='edit_chair'),
7+
url(r'^(?P<year>\d{4})/edit-members/$', EditMembersFormPreview(EditMembersForm), name='edit_members'),
108
)

0 commit comments

Comments
 (0)