--- loncom/interface/statistics/lonstudentassessment.pm 2006/03/05 19:43:12 1.133 +++ loncom/interface/statistics/lonstudentassessment.pm 2006/04/08 06:59:44 1.136 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentassessment.pm,v 1.133 2006/03/05 19:43:12 bowersj2 Exp $ +# $Id: lonstudentassessment.pm,v 1.136 2006/04/08 06:59:44 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,13 +50,14 @@ Presents assessment data about a student package Apache::lonstudentassessment; use strict; -use Apache::lonstatistics; -use Apache::lonhtmlcommon; +use Apache::lonstatistics(); +use Apache::lonhtmlcommon(); use Apache::loncommon(); use Apache::loncoursedata; use Apache::lonnet; # for logging porpoises use Apache::lonlocal; -use Apache::grades; +use Apache::grades(); +use Apache::lonmsgdisplay(); use Time::HiRes; use Spreadsheet::WriteExcel; use Spreadsheet::WriteExcel::Utility(); @@ -650,6 +651,18 @@ sub html_initialize { &mt('Unable to retrieve course information.'). ''); } + + # If we're showing links, show a checkbox to open in new + # windows. + if ($show_links ne 'no') { + $r->print(<new_window = true; +

+NEW_WINDOW_CHECKBOX + } + # $r->print("

".$env{'course.'.$env{'request.course.id'}.'.description'}. "  ".localtime(time)."

"); @@ -1429,7 +1442,7 @@ sub excel_outputstudent { foreach my $field (@to_show) { my $value = $student->{$field}; if ($field eq 'comments') { - $value = &Apache::lonmsg::retrieve_instructor_comments + $value = &Apache::lonmsgdisplay::retrieve_instructor_comments ($student->{'username'},$student->{'domain'}); } $excel_sheet->write($rows_output,$cols_output++,$value); @@ -1711,7 +1724,7 @@ sub csv_outputstudent { foreach my $field (@to_show) { my $value = $student->{$field}; if ($field eq 'comments') { - $value = &Apache::lonmsg::retrieve_instructor_comments + $value = &Apache::lonmsgdisplay::retrieve_instructor_comments ($student->{'username'},$student->{'domain'}); } $Str .= '"'.&Apache::loncommon::csv_translate($value).'",'; @@ -1928,11 +1941,12 @@ sub student_tries_on_sequence { if (length($symbol) > 1) { &Apache::lonnet::logthis('length of symbol "'.$symbol.'" > 1'); } - $symbol = ''.$symbol.''; + '&command=submission'; + $symbol = &link($symbol, $link); } $value .= $symbol; } @@ -1947,6 +1961,37 @@ sub student_tries_on_sequence { return ($Str,$performance_length,$sum,$max,\@TriesData); } +=pod + +=item &link + +Inputs: + +=over 4 + +=item $text + +=item $target + +=back + +Takes the text and creates a link to the $text that honors +the value of 'new window' if clicked on, but uses a real +'href' so middle and right clicks still work. + +$target and $text are assumed to be already correctly escaped; i.e., it +can be dumped out directly into the output stream as-is. + +=cut + +sub link { + my ($text,$target) = @_; + return + "$text"; +} + ####################################################### ####################################################### @@ -2051,11 +2096,12 @@ sub student_performance_on_sequence { push (@ScoreData,$partscore); # if ( ($links eq 'yes' && $symbol ne ' ') || ($links eq 'all')) { - $symbol = ''.$symbol.''; + '&command=submission'; + $symbol = &link($symbol, $link); } $Str .= $symbol; }