--- loncom/interface/statistics/lonstudentsubmissions.pm 2012/12/10 23:18:47 1.68.2.2 +++ loncom/interface/statistics/lonstudentsubmissions.pm 2014/03/28 15:07:01 1.71 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentsubmissions.pm,v 1.68.2.2 2012/12/10 23:18:47 raeburn Exp $ +# $Id: lonstudentsubmissions.pm,v 1.71 2014/03/28 15:07:01 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -30,6 +30,7 @@ use strict; use Apache::lonnet; use Apache::loncommon(); use Apache::lonhtmlcommon(); +use Apache::lonquickgrades(); use Apache::loncoursedata(); use Apache::lonstatistics; use Apache::lonlocal; @@ -63,6 +64,7 @@ sub BuildStudentSubmissionsPage { &Apache::lonstatistics::PrepareClasslist(); # $r->print( &Apache::lonhtmlcommon::breadcrumbs('Student Submission Reports')); + &Apache::lonquickgrades::startGradeScreen($r,'statistics'); $r->print(&CreateInterface()); # my @Students = @Apache::lonstatistics::Students; @@ -729,10 +731,24 @@ sub html_non_essay_results { push(@values,$response->{$original_header}); } } + # FIXME: Bug #6700 - Properly process multiple answer fields + # Would be a good place here but the data needs to be properly + # compiled somewhere before. + # elsif (($resptype =~ /^(numerical|formula|custom)$/) && + # (submission) && (ref)) { + # de-ref...: push(@values,$response->{$original_header}); } } else { foreach my $original_header (@$headers) { if ($original_header eq 'Time') { push(@values,&Apache::lonlocal::locallocaltime($response->{$original_header})); + } elsif (($original_header eq 'Submission') && + !($resptype =~ /^(radiobutton|option|match|rank)$/)) { + # encode all submissions which have not been encoded above + push(@values,&HTML::Entities::encode($response->{$original_header},'<>&"')); + } elsif (($original_header eq 'Correct') && + ($resptype eq 'radiobutton')) { + # encode foil separators + push(@values,&HTML::Entities::encode($response->{$original_header},'&')); } else { # A normal column push(@values,$response->{$original_header});