Add skel view to provide comments to nominees
See #970 - Legacy-Id: 5488
This commit is contained in:
parent
ea4b6389d6
commit
50dd5ba30b
|
@ -414,6 +414,46 @@ class NominateForm(BaseNomcomForm, forms.ModelForm):
|
|||
"/js/nomcom.js", )
|
||||
|
||||
|
||||
class FeedbackForm(BaseNomcomForm, forms.ModelForm):
|
||||
position = forms.CharField(label='position')
|
||||
nominee_name = forms.CharField(label='nominee name')
|
||||
nominee_email = forms.CharField(label='nominee email')
|
||||
nominator_name = forms.CharField(label='nominator name')
|
||||
nominator_email = forms.CharField(label='nominator email')
|
||||
|
||||
comments = forms.CharField(label='Comments on this candidate', widget=forms.Textarea())
|
||||
|
||||
fieldsets = [('Provide comments', ('position',
|
||||
'nominee_name',
|
||||
'nominee_email',
|
||||
'nominator_name',
|
||||
'nominator_email',
|
||||
'comments'))]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.nomcom = kwargs.pop('nomcom', None)
|
||||
self.user = kwargs.pop('user', None)
|
||||
self.public = kwargs.pop('public', None)
|
||||
|
||||
super(FeedbackForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def save(self, commit=True):
|
||||
pass
|
||||
|
||||
class Meta:
|
||||
model = Feedback
|
||||
fields = ('position',
|
||||
'nominee_name',
|
||||
'nominee_email',
|
||||
'nominator_name',
|
||||
'nominator_email',
|
||||
'comments')
|
||||
|
||||
class Media:
|
||||
js = ("/js/jquery-1.5.1.min.js",
|
||||
"/js/nomcom.js", )
|
||||
|
||||
|
||||
class NomComTemplateForm(BaseNomcomForm, DBTemplateForm):
|
||||
|
||||
fieldsets = [('Template content', ('content', )),
|
||||
|
|
|
@ -6,6 +6,7 @@ urlpatterns = patterns('ietf.nomcom.views',
|
|||
url(r'^(?P<year>\d{4})/private/$', 'private_index', name='nomcom_private_index'),
|
||||
url(r'^(?P<year>\d{4})/private/key/$', 'private_key', name='nomcom_private_key'),
|
||||
url(r'^(?P<year>\d{4})/private/nominate/$', 'private_nominate', name='nomcom_private_nominate'),
|
||||
url(r'^(?P<year>\d{4})/private/feedback/$', 'private_feedback', name='nomcom_private_feedback'),
|
||||
url(r'^(?P<year>\d{4})/private/merge/$', 'private_merge', name='nomcom_private_merge'),
|
||||
url(r'^(?P<year>\d{4})/private/send-reminder-mail/$', 'send_reminder_mail', name='nomcom_send_reminder_mail'),
|
||||
url(r'^(?P<year>\d{4})/private/edit-members/$', EditMembersFormPreview(EditMembersForm), name='nomcom_edit_members'),
|
||||
|
@ -21,7 +22,7 @@ urlpatterns = patterns('ietf.nomcom.views',
|
|||
url(r'^(?P<year>\d{4})/$', 'index', name='nomcom_index'),
|
||||
url(r'^(?P<year>\d{4})/requirements/$', 'requirements', name='nomcom_requirements'),
|
||||
url(r'^(?P<year>\d{4})/questionnaires/$', 'questionnaires', name='nomcom_questionnaires'),
|
||||
url(r'^(?P<year>\d{4})/comments/$', 'comments', name='nomcom_comments'),
|
||||
url(r'^(?P<year>\d{4})/feedback/$', 'public_feedback', name='nomcom_public_feedback'),
|
||||
url(r'^(?P<year>\d{4})/nominate/$', 'public_nominate', name='nomcom_public_nominate'),
|
||||
url(r'^ajax/position-text/(?P<position_id>\d+)/$', 'ajax_position_text', name='nomcom_ajax_position_text'),
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ from ietf.dbtemplate.models import DBTemplate
|
|||
from ietf.dbtemplate.views import template_edit
|
||||
from ietf.name.models import NomineePositionState
|
||||
from ietf.nomcom.decorators import member_required, private_key_required
|
||||
from ietf.nomcom.forms import (EditPublicKeyForm, NominateForm, MergeForm,
|
||||
from ietf.nomcom.forms import (EditPublicKeyForm, NominateForm, FeedbackForm, MergeForm,
|
||||
NomComTemplateForm, PositionForm, PrivateKeyForm)
|
||||
from ietf.nomcom.models import Position, NomineePosition, Nominee
|
||||
from ietf.nomcom.utils import (get_nomcom_by_year, HOME_TEMPLATE,
|
||||
|
@ -241,13 +241,48 @@ def nominate(request, year, public):
|
|||
|
||||
|
||||
@login_required
|
||||
def comments(request, year):
|
||||
# TODO: complete to do comments
|
||||
def public_feedback(request, year):
|
||||
return feedback(request, year, True)
|
||||
|
||||
|
||||
@member_required(role='member')
|
||||
def private_feedback(request, year):
|
||||
return feedback(request, year, False)
|
||||
|
||||
|
||||
def feedback(request, year, public):
|
||||
nomcom = get_nomcom_by_year(year)
|
||||
return render_to_response('nomcom/comments.html',
|
||||
{'nomcom': nomcom,
|
||||
has_publickey = nomcom.public_key and True or False
|
||||
if public:
|
||||
template = 'nomcom/public_feedback.html'
|
||||
else:
|
||||
template = 'nomcom/private_feedback.html'
|
||||
|
||||
if not has_publickey:
|
||||
message = ('warning', "Nomcom don't have public key to ecrypt data, please contact with nomcom chair")
|
||||
return render_to_response(template,
|
||||
{'has_publickey': has_publickey,
|
||||
'message': message,
|
||||
'nomcom': nomcom,
|
||||
'year': year,
|
||||
'selected': 'comments'}, RequestContext(request))
|
||||
'selected': 'feedback'}, RequestContext(request))
|
||||
|
||||
message = None
|
||||
if request.method == 'POST':
|
||||
form = FeedbackForm(data=request.POST, nomcom=nomcom, user=request.user, public=public)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
message = ('success', 'Your nomination has been registered. Thank you for the nomination.')
|
||||
else:
|
||||
form = FeedbackForm(nomcom=nomcom, user=request.user, public=public)
|
||||
|
||||
return render_to_response(template,
|
||||
{'has_publickey': has_publickey,
|
||||
'form': form,
|
||||
'message': message,
|
||||
'nomcom': nomcom,
|
||||
'year': year,
|
||||
'selected': 'feedback'}, RequestContext(request))
|
||||
|
||||
|
||||
@member_required(role='chair')
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{% extends "nomcom/nomcom_public_base.html" %}
|
||||
|
||||
{% block subtitle %} - Provide comments {% endblock %}
|
|
@ -9,6 +9,7 @@
|
|||
<div class="ietf-navset">
|
||||
{% if selected == "index" %}<span class="selected">List of nominees</span>{% else %}<a href="{% url nomcom_private_index year %}">List of nominees</a>{% endif %} |
|
||||
{% if selected == "nominate" %}<span class="selected">Nominate</span>{% else %}<a href="{% url nomcom_private_nominate year %}">Nominate</a>{% endif %} |
|
||||
{% if selected == "feedback" %}<span class="selected">Provide comments</span>{% else %}<a href="{% url nomcom_private_feedback year %}">Provide comments</a>{% endif %} |
|
||||
{% if selected == "private_key" %}<span class="selected">Private key</span>{% else %}<a href="{% url nomcom_private_key year %}">Private key</a>{% endif %}
|
||||
{% if user|is_chair:year %} |
|
||||
{% if selected == "merge" %}<span class="selected">Merge nominee email addr</span>{% else %}<a href="{% url nomcom_private_merge year %}">Merge nominee email addr</a>{% endif %} |
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
<div class="ietf-navset">
|
||||
{% if selected == "index" %}<span class="selected">Home</span>{% else %}<a href="{% url nomcom_index year %}">Home</a>{% endif %} |
|
||||
{% if selected == "nominate" %}<span class="selected">Nominate</span>{% else %}<a href="{% url nomcom_public_nominate year %}">Nominate</a>{% endif %} |
|
||||
{% if selected == "feedback" %}<span class="selected">Provide Comments</span>{% else %}<a href="{% url nomcom_public_feedback year %}">Provide Comments</a>{% endif %} |
|
||||
{% if selected == "requirements" %}<span class="selected">Requirements</span>{% else %}<a href="{% url nomcom_requirements year %}">Requirements</a>{% endif %} |
|
||||
{% if selected == "questionnaires" %}<span class="selected">Questionnaires</span>{% else %}<a href="{% url nomcom_questionnaires year %}">Questionnaires</a>{% endif %} |
|
||||
{% if selected == "comments" %}<span class="selected">Provide Comments</span>{% else %}<a href="{% url nomcom_comments year %}">Provide Comments</a>{% endif %}
|
||||
</div>
|
||||
|
||||
{% block nomcom_content %}
|
||||
|
|
40
ietf/templates/nomcom/private_feedback.html
Normal file
40
ietf/templates/nomcom/private_feedback.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% extends "nomcom/nomcom_private_base.html" %}
|
||||
|
||||
{% block subtitle %} - Feedback{% endblock %}
|
||||
|
||||
{% block pagehead %}
|
||||
{{ form.media }}
|
||||
{% endblock %}
|
||||
|
||||
{% block nomcom_content %}
|
||||
|
||||
|
||||
{% if message %}
|
||||
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if has_publickey %}
|
||||
|
||||
<div class="js-info">
|
||||
Your browser has Javascript disabled. Please enable javascript and reload the page.
|
||||
<script type="text/javascript">
|
||||
(function ($) {
|
||||
$(".js-info").hide();
|
||||
})(jQuery);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
{% if form.errors %}<div class="info-message-error">Please correct the following errors</div>{% endif %}
|
||||
|
||||
<form id="privateform" action="" method="post">{% csrf_token %}
|
||||
{{ form }}
|
||||
|
||||
<div class="submitrow">
|
||||
<input type="submit" value="Save" name="save" />
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
40
ietf/templates/nomcom/public_feedback.html
Normal file
40
ietf/templates/nomcom/public_feedback.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% extends "nomcom/nomcom_public_base.html" %}
|
||||
|
||||
{% block subtitle %} - Feedback{% endblock %}
|
||||
|
||||
{% block pagehead %}
|
||||
{{ form.media }}
|
||||
{% endblock %}
|
||||
|
||||
{% block nomcom_content %}
|
||||
|
||||
|
||||
{% if message %}
|
||||
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if has_publickey %}
|
||||
|
||||
<div class="js-info">
|
||||
Your browser has Javascript disabled. Please enable javascript and reload the page.
|
||||
<script type="text/javascript">
|
||||
(function ($) {
|
||||
$(".js-info").hide();
|
||||
})(jQuery);
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
{% if form.errors %}<div class="info-message-error">Please correct the following errors</div>{% endif %}
|
||||
|
||||
<form id="feedbackform" action="" method="post">{% csrf_token %}
|
||||
{{ form }}
|
||||
|
||||
<div class="submitrow">
|
||||
<input type="submit" value="Save" name="save" />
|
||||
</div>
|
||||
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
|
||||
{% if message %}
|
||||
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
|
||||
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if has_publickey %}
|
||||
|
|
Loading…
Reference in a new issue