77
88from ietf .ietfauth .decorators import has_role
99from 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
1211from ietf .name .models import RoleName
1312from ietf .person .models import Email
1413
1514
1615ROLODEX_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+
1925class 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 }))
0 commit comments