Refactor public key edition view.
TODO: put styles in css file See #905 - Legacy-Id: 5094
This commit is contained in:
parent
b9e94b20d5
commit
bcdeaf3004
|
@ -10,6 +10,7 @@ from ietf.utils import fields as custom_fields
|
|||
from ietf.group.models import Group, Role
|
||||
from ietf.name.models import RoleName
|
||||
from ietf.person.models import Email
|
||||
from ietf.nomcom.models import NomCom
|
||||
|
||||
|
||||
ROLODEX_URL = getattr(settings, 'ROLODEX_URL', None)
|
||||
|
@ -141,3 +142,9 @@ class EditChairFormPreview(FormPreview):
|
|||
email=chair_info['email_obj'])
|
||||
|
||||
return HttpResponseRedirect(reverse('edit_chair', kwargs={'year': self.year}))
|
||||
|
||||
|
||||
class EditPublicKeyForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = NomCom
|
||||
fields = ('public_key',)
|
||||
|
|
|
@ -5,4 +5,5 @@ from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, \
|
|||
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/$', 'edit_publickey', name='edit_publickey'),
|
||||
)
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
from django.shortcuts import get_object_or_404, render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.http import HttpResponseForbidden
|
||||
|
||||
from ietf.nomcom.forms import EditPublicKeyForm
|
||||
from ietf.nomcom.models import NomCom
|
||||
|
||||
|
||||
def edit_publickey(request, year):
|
||||
nomcom = get_object_or_404(NomCom,
|
||||
group__acronym__icontains=year,
|
||||
group__state__slug='active')
|
||||
is_group_chair = nomcom.group.is_chair(request.user)
|
||||
if not is_group_chair:
|
||||
return HttpResponseForbidden("Must be group chair")
|
||||
|
||||
message = ('warning', 'Previous data will remain encrypted with the old key')
|
||||
if request.method == 'POST':
|
||||
form = EditPublicKeyForm(request.POST,
|
||||
request.FILES,
|
||||
instance=nomcom,
|
||||
initial={'public_key': None})
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
message = ('success', 'The public key has been changed')
|
||||
else:
|
||||
form = EditPublicKeyForm()
|
||||
|
||||
return render_to_response('nomcom/edit_publickey.html',
|
||||
{'form': form,
|
||||
'group': nomcom.group,
|
||||
'message': message}, RequestContext(request))
|
|
@ -1,18 +1,28 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Edit {{ state.group.acronym }} public key{% endblock %}
|
||||
{% block title %}Edit {{ group.acronym }} public key{% endblock %}
|
||||
|
||||
{% block morecss %}
|
||||
div.info-message-success { border: 1px solid green; background-color: #eeffbb; padding: 5px 10px; margin: 1em 0px; color: green; }
|
||||
div.info-message-warning { border: 1px dashed red; background-color: #ffeeaa; padding: 1em 2em; margin: 1em 0px; }
|
||||
|
||||
{% endblock morecss %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<h1>Edit {{ state.group.acronym }} public key</h1>
|
||||
<h1>Edit {{ group.acronym }} public key</h1>
|
||||
|
||||
{% if message %}
|
||||
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if form.errors %}<h3>Please correct the following errors</h3>{% endif %}
|
||||
|
||||
<form action="" method="post">{% csrf_token %}
|
||||
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
|
||||
<table>
|
||||
{{ form }}
|
||||
</table>
|
||||
<input type="hidden" name="{{ stage_field }}" value="1" />
|
||||
<p><input type="submit" value="Preview" /></p>
|
||||
<p><input type="submit" value="Save" /></p>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Edit {{ state.group.acronym }} public key{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Edit {{ state.group.acronym }} public key</h1>
|
||||
|
||||
<p>Previous data will remain encrypted with the old key. Do you really want to change the public key?. </p
|
||||
|
||||
<table>
|
||||
<form action="" method="post">{% csrf_token %}
|
||||
{% for field in form %}{{ field.as_hidden }}
|
||||
{% endfor %}
|
||||
<input type="hidden" name="{{ stage_field }}" value="2" />
|
||||
<input type="hidden" name="{{ hash_field }}" value="{{ hash_value }}" />
|
||||
<p><input type="submit" value="Submit" /></p>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in a new issue