|
15 | 15 | from ietf.dbtemplate.views import template_edit |
16 | 16 | from ietf.name.models import NomineePositionState |
17 | 17 | from ietf.nomcom.decorators import member_required, private_key_required |
18 | | -from ietf.nomcom.forms import (EditPublicKeyForm, NominateForm, MergeForm, |
| 18 | +from ietf.nomcom.forms import (EditPublicKeyForm, NominateForm, FeedbackForm, MergeForm, |
19 | 19 | NomComTemplateForm, PositionForm, PrivateKeyForm) |
20 | 20 | from ietf.nomcom.models import Position, NomineePosition, Nominee |
21 | 21 | from ietf.nomcom.utils import (get_nomcom_by_year, HOME_TEMPLATE, |
@@ -241,13 +241,48 @@ def nominate(request, year, public): |
241 | 241 |
|
242 | 242 |
|
243 | 243 | @login_required |
244 | | -def comments(request, year): |
245 | | - # TODO: complete to do comments |
| 244 | +def public_feedback(request, year): |
| 245 | + return feedback(request, year, True) |
| 246 | + |
| 247 | + |
| 248 | +@member_required(role='member') |
| 249 | +def private_feedback(request, year): |
| 250 | + return feedback(request, year, False) |
| 251 | + |
| 252 | + |
| 253 | +def feedback(request, year, public): |
246 | 254 | nomcom = get_nomcom_by_year(year) |
247 | | - return render_to_response('nomcom/comments.html', |
248 | | - {'nomcom': nomcom, |
| 255 | + has_publickey = nomcom.public_key and True or False |
| 256 | + if public: |
| 257 | + template = 'nomcom/public_feedback.html' |
| 258 | + else: |
| 259 | + template = 'nomcom/private_feedback.html' |
| 260 | + |
| 261 | + if not has_publickey: |
| 262 | + message = ('warning', "Nomcom don't have public key to ecrypt data, please contact with nomcom chair") |
| 263 | + return render_to_response(template, |
| 264 | + {'has_publickey': has_publickey, |
| 265 | + 'message': message, |
| 266 | + 'nomcom': nomcom, |
| 267 | + 'year': year, |
| 268 | + 'selected': 'feedback'}, RequestContext(request)) |
| 269 | + |
| 270 | + message = None |
| 271 | + if request.method == 'POST': |
| 272 | + form = FeedbackForm(data=request.POST, nomcom=nomcom, user=request.user, public=public) |
| 273 | + if form.is_valid(): |
| 274 | + form.save() |
| 275 | + message = ('success', 'Your nomination has been registered. Thank you for the nomination.') |
| 276 | + else: |
| 277 | + form = FeedbackForm(nomcom=nomcom, user=request.user, public=public) |
| 278 | + |
| 279 | + return render_to_response(template, |
| 280 | + {'has_publickey': has_publickey, |
| 281 | + 'form': form, |
| 282 | + 'message': message, |
| 283 | + 'nomcom': nomcom, |
249 | 284 | 'year': year, |
250 | | - 'selected': 'comments'}, RequestContext(request)) |
| 285 | + 'selected': 'feedback'}, RequestContext(request)) |
251 | 286 |
|
252 | 287 |
|
253 | 288 | @member_required(role='chair') |
|
0 commit comments