Add view to edit groups public key. See #905

- Legacy-Id: 5073
This commit is contained in:
Emilio Jiménez 2012-11-22 12:27:42 +00:00
parent 587681b9ba
commit b11374ad6a
2 changed files with 40 additions and 1 deletions

View file

@ -139,3 +139,40 @@ class EditChairFormPreview(FormPreview):
email=chair_info['email_obj'])
return HttpResponseRedirect(reverse('edit_chair', kwargs={'year': self.year}))
class EditPublicKeyForm(forms.Form):
public_key = forms.CharField(label="Public Key", widget=forms.Textarea)
class EditPublicKeyFormPreview(FormPreview):
form_template = 'nomcom/edit_publickey.html'
preview_template = 'nomcom/edit_publickey_preview.html'
def __call__(self, request, *args, **kwargs):
year = kwargs['year']
group = get_object_or_404(NomComGroup,
acronym__icontains=year,
state__slug='active')
is_group_chair = group.is_chair(request.user)
if not is_group_chair:
return HttpResponseForbidden("Must be group chair")
self.state['group'] = group
self.group = group
self.year = year
return super(EditPublicKeyFormPreview, self).__call__(request, *args, **kwargs)
def parse_params(self, *args, **kwargs):
if self.group.public_key:
self.form.base_fields['public_key'].initial = self.group.public_key
def done(self, request, cleaned_data):
public_key = cleaned_data['public_key']
if public_key:
self.group.public_key = public_key
self.group.save()
return HttpResponseRedirect(reverse('edit_publickey', kwargs={'year': self.year}))

View file

@ -1,8 +1,10 @@
from django.conf.urls.defaults import patterns, url
from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
EditMembersForm, EditMembersFormPreview
EditMembersForm, EditMembersFormPreview, \
EditPublicKeyForm, EditPublicKeyFormPreview
urlpatterns = patterns('ietf.nomcom.views',
url(r'^(?P<year>\d{4})/edit-chair/$', EditChairFormPreview(EditChairForm), name='edit_chair'),
url(r'^(?P<year>\d{4})/edit-members/$', EditMembersFormPreview(EditMembersForm), name='edit_members'),
url(r'^(?P<year>\d{4})/edit-publickey/$', EditPublicKeyFormPreview(EditPublicKeyForm), name='edit_publickey'),
)