Commit e637d69f by Bridger Maxwell

Survey now supports (Check all that apply) questions. Fixed some typos in survey.

parent 49162760
......@@ -465,7 +465,10 @@ def record_exit_survey(request):
if request.method != "POST" or not settings.END_COURSE_ENABLED:
raise Http404
response = { key : value for key,value in request.POST.items() if key.startswith("survey_") }
if 'survey_results' not in request.POST:
return HttpResponse(json.dumps({'success':False, 'error':'No survey responses were found.'}))
response = json.loads(request.POST['survey_results'])
up = UserProfile.objects.get(user=request.user)
......
......@@ -166,7 +166,7 @@ $(function() {
});
log_event("certificate_request", values);
return false;
});
});
$("#survey_form").submit(function(){
var values = {};
......@@ -182,10 +182,16 @@ $(function() {
//Grab the values from the survey_fieldset
var serializedArray = inputs.serializeArray();
for (var i = 0; i < serializedArray.length; i++) {
values[ serializedArray[i]['name'] ] = serializedArray[i]['value'];
var key = serializedArray[i]['name'];
var value = serializedArray[i]['value'];
if ( key in values && values[key] != null) {
values[key].push( value );
} else {
values[key] = [value];
}
}
postJSON('/record_exit_survey', values, function(data) {
postJSON('/record_exit_survey', {'survey_results' : JSON.stringify(values)}, function(data) {
if (true || data.success) {
$("#survey").html("<h1>Survey Response Recorded</h1><p>Thank you for filling out the survey!</p>");
......
......@@ -5,7 +5,16 @@
<li class="survey_radio">
<label>${label}</label><br/>
%for choice in choices:
<input type="radio" name="${question_name}" value="${choice}"/>${choice}<br>
<input type="radio" name="${question_name}" value="${choice}" align="BASELINE"/>${choice}<br>
%endfor
</li>
</%def>
<%def name="survey_select_many(question_name, label, choices)">
<li class="survey_select_many">
<label>${label}</label><br/>
%for choice in choices:
<input type="checkbox" name="${question_name}" value="${choice}" align="BASELINE"/>${choice}<br>
%endfor
</li>
</%def>
......@@ -29,13 +38,16 @@
<ul>
%for survey_question in survey_list:
%if survey_question['type'] == 'survey_radio':
%if survey_question['type'] == 'radio':
${survey_radio(survey_question['question_name'], survey_question['label'], survey_question['choices']) }
%elif survey_question['type'] == 'survey_checkbox':
%elif survey_question['type'] == 'select_many':
${survey_select_many(survey_question['question_name'], survey_question['label'], survey_question['choices']) }
%elif survey_question['type'] == 'checkbox':
${survey_checkbox(survey_question['question_name'], survey_question['label']) }
%elif survey_question['type'] == 'survey_short_field':
%elif survey_question['type'] == 'short_field':
${survey_short_field(survey_question['question_name'], survey_question['label']) }
%endif
%endfor
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment