parent
edb3b138f5
commit
c3ff510ed0
|
@ -1,5 +1,6 @@
|
|||
from django.conf import settings
|
||||
from django.db import models
|
||||
from django.utils.encoding import smart_str
|
||||
|
||||
from ietf.utils.pipe import pipe
|
||||
|
||||
|
@ -11,7 +12,7 @@ class EncryptedException(Exception):
|
|||
class EncryptedTextField(models.TextField):
|
||||
def pre_save(self, instance, add):
|
||||
if add:
|
||||
comments = getattr(instance, 'comments')
|
||||
comments = smart_str(getattr(instance, 'comments'))
|
||||
nomcom = getattr(instance, 'nomcom')
|
||||
cert_file = nomcom.public_key.path
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ from django.utils.decorators import method_decorator
|
|||
from django.shortcuts import render_to_response
|
||||
from django.template.context import RequestContext
|
||||
from django.contrib.sites.models import Site
|
||||
from django.contrib.admin.widgets import FilteredSelectMultiple
|
||||
|
||||
from ietf.dbtemplate.forms import DBTemplateForm
|
||||
from ietf.utils import unaccent
|
||||
|
@ -27,7 +26,7 @@ from ietf.nomcom.utils import QUESTIONNAIRE_TEMPLATE, NOMINATION_EMAIL_TEMPLATE,
|
|||
INEXISTENT_PERSON_TEMPLATE, NOMINEE_EMAIL_TEMPLATE, \
|
||||
NOMINATION_RECEIPT_TEMPLATE, FEEDBACK_RECEIPT_TEMPLATE, \
|
||||
get_user_email, get_hash_nominee_position, get_year_by_nomcom, \
|
||||
HEADER_QUESTIONNAIRE_TEMPLATE
|
||||
HEADER_QUESTIONNAIRE_TEMPLATE
|
||||
from ietf.nomcom.decorators import member_required
|
||||
|
||||
ROLODEX_URL = getattr(settings, 'ROLODEX_URL', None)
|
||||
|
@ -194,7 +193,7 @@ class EditMembersFormPreview(FormPreview):
|
|||
f = self.form(request.POST, auto_id=AUTO_ID)
|
||||
if f.is_valid():
|
||||
if self.security_hash(request, f) != request.POST.get(self.unused_name('hash')):
|
||||
return self.failed_hash(request) # Security hash failed.
|
||||
return self.failed_hash(request) # Security hash failed.
|
||||
return self.done(request, f.cleaned_data)
|
||||
else:
|
||||
return render_to_response(self.form_template,
|
||||
|
@ -683,7 +682,7 @@ class QuestionnaireForm(BaseNomcomForm, forms.ModelForm):
|
|||
|
||||
comments = forms.CharField(label='Questionnaire response from this candidate',
|
||||
widget=forms.Textarea())
|
||||
fieldsets = [('Questionnaire response', ('nominee',
|
||||
fieldsets = [('New questionnaire response', ('nominee',
|
||||
'comments'))]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
@ -693,7 +692,6 @@ class QuestionnaireForm(BaseNomcomForm, forms.ModelForm):
|
|||
super(QuestionnaireForm, self).__init__(*args, **kwargs)
|
||||
self.fields['nominee'] = PositionNomineeField(nomcom=self.nomcom, required=True)
|
||||
|
||||
|
||||
def save(self, commit=True):
|
||||
feedback = super(QuestionnaireForm, self).save(commit=False)
|
||||
(position, nominee) = self.cleaned_data['nominee']
|
||||
|
@ -732,8 +730,7 @@ class QuestionnaireForm(BaseNomcomForm, forms.ModelForm):
|
|||
|
||||
class NomComTemplateForm(BaseNomcomForm, DBTemplateForm):
|
||||
|
||||
fieldsets = [('Template content', ('content', )),
|
||||
]
|
||||
fieldsets = [('Template content', ('content', )), ]
|
||||
|
||||
|
||||
class PositionForm(BaseNomcomForm, forms.ModelForm):
|
||||
|
@ -771,7 +768,6 @@ class PendingFeedbackForm(BaseNomcomForm, forms.ModelForm):
|
|||
super(PendingFeedbackForm, self).__init__(*args, **kwargs)
|
||||
self.fields['type'].queryset = FeedbackType.objects.exclude(slug='nomina')
|
||||
|
||||
|
||||
def set_nomcom(self, nomcom, user):
|
||||
self.nomcom = nomcom
|
||||
self.user = user
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
|
@ -325,7 +326,7 @@ class NomcomViewsTest(TestCase):
|
|||
nominee = Nominee.objects.get(email__person__name=COMMUNITY_USER)
|
||||
position = Position.objects.get(name='OAM')
|
||||
|
||||
comments = 'plain text'
|
||||
comments = 'plain text. comments with acents ááááá'
|
||||
nomcom = get_nomcom_by_year(self.year)
|
||||
feedback = Feedback.objects.create(nomcom=nomcom,
|
||||
comments=comments,
|
||||
|
@ -392,7 +393,7 @@ class NomcomViewsTest(TestCase):
|
|||
position = Position.objects.get(name=position_name)
|
||||
candidate_email = nominee_email
|
||||
candidate_name = u'nominee'
|
||||
comments = 'test nominate view'
|
||||
comments = 'test nominate view. comments with acents ááááá'
|
||||
candidate_phone = u'123456'
|
||||
|
||||
test_data = {'candidate_name': candidate_name,
|
||||
|
@ -464,7 +465,7 @@ class NomcomViewsTest(TestCase):
|
|||
position = Position.objects.get(name=position_name)
|
||||
nominee = Nominee.objects.get(email__address=nominee_email)
|
||||
|
||||
comments = 'test add questionnaire view'
|
||||
comments = 'test add questionnaire view. Comments with acents ááááá'
|
||||
|
||||
test_data = {'comments': comments,
|
||||
'nominee': '%s_%s' % (position.id, nominee.id)}
|
||||
|
@ -527,7 +528,7 @@ class NomcomViewsTest(TestCase):
|
|||
position = Position.objects.get(name=position_name)
|
||||
nominee = Nominee.objects.get(email__address=nominee_email)
|
||||
|
||||
comments = 'test feedback view'
|
||||
comments = 'test feedback view. Comments with acents ááááá'
|
||||
|
||||
test_data = {'comments': comments,
|
||||
'position_name': position.name,
|
||||
|
@ -623,7 +624,7 @@ class FeedbackTest(TestCase):
|
|||
nomcom.public_key.storage.location = tempfile.gettempdir()
|
||||
nomcom.public_key.save('cert', File(open(self.cert_file.name, 'r')))
|
||||
|
||||
comments = 'plain text'
|
||||
comments = 'plain text. Comments with acents ááááá'
|
||||
feedback = Feedback.objects.create(nomcom=nomcom,
|
||||
comments=comments,
|
||||
type=FeedbackType.objects.get(slug='nomina'))
|
||||
|
|
|
@ -310,6 +310,7 @@ def private_questionnaire(request, year):
|
|||
nomcom = get_nomcom_by_year(year)
|
||||
has_publickey = nomcom.public_key and True or False
|
||||
message = None
|
||||
questionnaire_response = None
|
||||
template = 'nomcom/private_questionnaire.html'
|
||||
|
||||
if not has_publickey:
|
||||
|
@ -327,12 +328,15 @@ def private_questionnaire(request, year):
|
|||
if form.is_valid():
|
||||
form.save()
|
||||
message = ('success', 'The questionnaire response has been registered.')
|
||||
questionnaire_response = form.cleaned_data['comments']
|
||||
form = QuestionnaireForm(nomcom=nomcom, user=request.user)
|
||||
else:
|
||||
form = QuestionnaireForm(nomcom=nomcom, user=request.user)
|
||||
|
||||
return render_to_response(template,
|
||||
{'has_publickey': has_publickey,
|
||||
'form': form,
|
||||
'questionnaire_response': questionnaire_response,
|
||||
'message': message,
|
||||
'nomcom': nomcom,
|
||||
'year': year,
|
||||
|
|
|
@ -26,6 +26,11 @@
|
|||
</div>
|
||||
|
||||
<div class="content">
|
||||
{% if questionnaire_response %}
|
||||
<h3>Questionnaire response:</h3>
|
||||
{{ questionnaire_response }}
|
||||
|
||||
{% endif %}
|
||||
<div class="primary">
|
||||
{% if form.errors %}<div class="info-message-error">Please correct the following errors</div>{% endif %}
|
||||
|
||||
|
|
Loading…
Reference in a new issue