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 #904 #905 - Legacy-Id: 5093
This commit is contained in:
parent
ddb10c4b0e
commit
b9e94b20d5
|
@ -7,8 +7,7 @@ from django.conf import settings
|
|||
|
||||
from ietf.ietfauth.decorators import has_role
|
||||
from ietf.utils import fields as custom_fields
|
||||
from ietf.group.models import Role
|
||||
from ietf.nomcom.models import NomComGroup
|
||||
from ietf.group.models import Group, Role
|
||||
from ietf.name.models import RoleName
|
||||
from ietf.person.models import Email
|
||||
|
||||
|
@ -16,6 +15,13 @@ from ietf.person.models import Email
|
|||
ROLODEX_URL = getattr(settings, 'ROLODEX_URL', None)
|
||||
|
||||
|
||||
def get_group_or_404(year):
|
||||
return get_object_or_404(Group,
|
||||
acronym__icontains=year,
|
||||
state__slug='active',
|
||||
nomcom__isnull=False)
|
||||
|
||||
|
||||
class EditMembersForm(forms.Form):
|
||||
|
||||
members = custom_fields.MultiEmailField(label="Members email", required=False)
|
||||
|
@ -27,9 +33,7 @@ class EditMembersFormPreview(FormPreview):
|
|||
|
||||
def __call__(self, request, *args, **kwargs):
|
||||
year = kwargs['year']
|
||||
group = get_object_or_404(NomComGroup,
|
||||
acronym__icontains=year,
|
||||
state__slug='active')
|
||||
group = get_group_or_404(year)
|
||||
is_group_chair = group.is_chair(request.user)
|
||||
is_secretariat = has_role(request.user, "Secretariat")
|
||||
if not is_secretariat and not is_group_chair:
|
||||
|
@ -95,9 +99,7 @@ class EditChairFormPreview(FormPreview):
|
|||
|
||||
def __call__(self, request, *args, **kwargs):
|
||||
year = kwargs['year']
|
||||
group = get_object_or_404(NomComGroup,
|
||||
acronym__icontains=year,
|
||||
state__slug='active')
|
||||
group = get_group_or_404(year)
|
||||
is_secretariat = has_role(request.user, "Secretariat")
|
||||
if not is_secretariat:
|
||||
return HttpResponseForbidden("Must be a secretariat")
|
||||
|
@ -139,40 +141,3 @@ 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}))
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
from django.conf.urls.defaults import patterns, url
|
||||
#from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
|
||||
#EditMembersForm, EditMembersFormPreview, \
|
||||
#EditPublicKeyForm, EditPublicKeyFormPreview
|
||||
from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
|
||||
EditMembersForm, EditMembersFormPreview
|
||||
|
||||
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'),
|
||||
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'),
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue