Skip to content

Commit bcdeaf3

Browse files
committed
Refactor public key edition view.
TODO: put styles in css file See ietf-tools#905 - Legacy-Id: 5094
1 parent b9e94b2 commit bcdeaf3

5 files changed

Lines changed: 55 additions & 24 deletions

File tree

ietf/nomcom/forms.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from ietf.group.models import Group, Role
1111
from ietf.name.models import RoleName
1212
from ietf.person.models import Email
13+
from ietf.nomcom.models import NomCom
1314

1415

1516
ROLODEX_URL = getattr(settings, 'ROLODEX_URL', None)
@@ -141,3 +142,9 @@ def done(self, request, cleaned_data):
141142
email=chair_info['email_obj'])
142143

143144
return HttpResponseRedirect(reverse('edit_chair', kwargs={'year': self.year}))
145+
146+
147+
class EditPublicKeyForm(forms.ModelForm):
148+
class Meta:
149+
model = NomCom
150+
fields = ('public_key',)

ietf/nomcom/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
urlpatterns = patterns('ietf.nomcom.views',
66
url(r'^(?P<year>\d{4})/edit-chair/$', EditChairFormPreview(EditChairForm), name='edit_chair'),
77
url(r'^(?P<year>\d{4})/edit-members/$', EditMembersFormPreview(EditMembersForm), name='edit_members'),
8+
url(r'^(?P<year>\d{4})/edit-publickey/$', 'edit_publickey', name='edit_publickey'),
89
)

ietf/nomcom/views.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from django.shortcuts import get_object_or_404, render_to_response
2+
from django.template import RequestContext
3+
from django.http import HttpResponseForbidden
4+
5+
from ietf.nomcom.forms import EditPublicKeyForm
6+
from ietf.nomcom.models import NomCom
7+
8+
9+
def edit_publickey(request, year):
10+
nomcom = get_object_or_404(NomCom,
11+
group__acronym__icontains=year,
12+
group__state__slug='active')
13+
is_group_chair = nomcom.group.is_chair(request.user)
14+
if not is_group_chair:
15+
return HttpResponseForbidden("Must be group chair")
16+
17+
message = ('warning', 'Previous data will remain encrypted with the old key')
18+
if request.method == 'POST':
19+
form = EditPublicKeyForm(request.POST,
20+
request.FILES,
21+
instance=nomcom,
22+
initial={'public_key': None})
23+
if form.is_valid():
24+
form.save()
25+
message = ('success', 'The public key has been changed')
26+
else:
27+
form = EditPublicKeyForm()
28+
29+
return render_to_response('nomcom/edit_publickey.html',
30+
{'form': form,
31+
'group': nomcom.group,
32+
'message': message}, RequestContext(request))
Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
{% extends "base.html" %}
22

3-
{% block title %}Edit {{ state.group.acronym }} public key{% endblock %}
3+
{% block title %}Edit {{ group.acronym }} public key{% endblock %}
4+
5+
{% block morecss %}
6+
div.info-message-success { border: 1px solid green; background-color: #eeffbb; padding: 5px 10px; margin: 1em 0px; color: green; }
7+
div.info-message-warning { border: 1px dashed red; background-color: #ffeeaa; padding: 1em 2em; margin: 1em 0px; }
8+
9+
{% endblock morecss %}
10+
411

512
{% block content %}
6-
<h1>Edit {{ state.group.acronym }} public key</h1>
13+
<h1>Edit {{ group.acronym }} public key</h1>
14+
15+
{% if message %}
16+
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
17+
{% endif %}
718

819
{% if form.errors %}<h3>Please correct the following errors</h3>{% endif %}
920

10-
<form action="" method="post">{% csrf_token %}
21+
<form enctype="multipart/form-data" action="" method="post">{% csrf_token %}
1122
<table>
1223
{{ form }}
1324
</table>
14-
<input type="hidden" name="{{ stage_field }}" value="1" />
15-
<p><input type="submit" value="Preview" /></p>
25+
<p><input type="submit" value="Save" /></p>
1626
</form>
1727

1828
{% endblock %}

ietf/templates/nomcom/edit_publickey_preview.html

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)