version 1.133, 2006/03/05 19:43:12
|
version 1.136, 2006/04/08 06:59:44
|
Line 50 Presents assessment data about a student
|
Line 50 Presents assessment data about a student
|
package Apache::lonstudentassessment; |
package Apache::lonstudentassessment; |
|
|
use strict; |
use strict; |
use Apache::lonstatistics; |
use Apache::lonstatistics(); |
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonnet; # for logging porpoises |
use Apache::lonnet; # for logging porpoises |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::grades; |
use Apache::grades(); |
|
use Apache::lonmsgdisplay(); |
use Time::HiRes; |
use Time::HiRes; |
use Spreadsheet::WriteExcel; |
use Spreadsheet::WriteExcel; |
use Spreadsheet::WriteExcel::Utility(); |
use Spreadsheet::WriteExcel::Utility(); |
Line 650 sub html_initialize {
|
Line 651 sub html_initialize {
|
&mt('Unable to retrieve course information.'). |
&mt('Unable to retrieve course information.'). |
'</h3>'); |
'</h3>'); |
} |
} |
|
|
|
# If we're showing links, show a checkbox to open in new |
|
# windows. |
|
if ($show_links ne 'no') { |
|
$r->print(<<NEW_WINDOW_CHECKBOX); |
|
<script type="text/javascript">new_window = true;</script> |
|
<p><label>Show links in new window: |
|
<input type="checkbox" checked="1" onclick="new_window=this.checked" /> |
|
</label></p> |
|
NEW_WINDOW_CHECKBOX |
|
} |
|
|
# |
# |
$r->print("<h3>".$env{'course.'.$env{'request.course.id'}.'.description'}. |
$r->print("<h3>".$env{'course.'.$env{'request.course.id'}.'.description'}. |
" ".localtime(time)."</h3>"); |
" ".localtime(time)."</h3>"); |
Line 1429 sub excel_outputstudent {
|
Line 1442 sub excel_outputstudent {
|
foreach my $field (@to_show) { |
foreach my $field (@to_show) { |
my $value = $student->{$field}; |
my $value = $student->{$field}; |
if ($field eq 'comments') { |
if ($field eq 'comments') { |
$value = &Apache::lonmsg::retrieve_instructor_comments |
$value = &Apache::lonmsgdisplay::retrieve_instructor_comments |
($student->{'username'},$student->{'domain'}); |
($student->{'username'},$student->{'domain'}); |
} |
} |
$excel_sheet->write($rows_output,$cols_output++,$value); |
$excel_sheet->write($rows_output,$cols_output++,$value); |
Line 1711 sub csv_outputstudent {
|
Line 1724 sub csv_outputstudent {
|
foreach my $field (@to_show) { |
foreach my $field (@to_show) { |
my $value = $student->{$field}; |
my $value = $student->{$field}; |
if ($field eq 'comments') { |
if ($field eq 'comments') { |
$value = &Apache::lonmsg::retrieve_instructor_comments |
$value = &Apache::lonmsgdisplay::retrieve_instructor_comments |
($student->{'username'},$student->{'domain'}); |
($student->{'username'},$student->{'domain'}); |
} |
} |
$Str .= '"'.&Apache::loncommon::csv_translate($value).'",'; |
$Str .= '"'.&Apache::loncommon::csv_translate($value).'",'; |
Line 1928 sub student_tries_on_sequence {
|
Line 1941 sub student_tries_on_sequence {
|
if (length($symbol) > 1) { |
if (length($symbol) > 1) { |
&Apache::lonnet::logthis('length of symbol "'.$symbol.'" > 1'); |
&Apache::lonnet::logthis('length of symbol "'.$symbol.'" > 1'); |
} |
} |
$symbol = '<a href="/adm/grades'. |
my $link = '/adm/grades'. |
'?symb='.&Apache::lonnet::escape($resource->symb). |
'?symb='.&Apache::lonnet::escape($resource->symb). |
'&student='.$student->{'username'}. |
'&student='.$student->{'username'}. |
'&userdom='.$student->{'domain'}. |
'&userdom='.$student->{'domain'}. |
'&command=submission">'.$symbol.'</a>'; |
'&command=submission'; |
|
$symbol = &link($symbol, $link); |
} |
} |
$value .= $symbol; |
$value .= $symbol; |
} |
} |
Line 1947 sub student_tries_on_sequence {
|
Line 1961 sub student_tries_on_sequence {
|
return ($Str,$performance_length,$sum,$max,\@TriesData); |
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 |
|
"<a href='$target' onclick=\"t=this.href;if(new_window)" |
|
."{window.open(t)}else{return void(window." |
|
."location=t)};return false;\">$text</a>"; |
|
} |
|
|
####################################################### |
####################################################### |
####################################################### |
####################################################### |
|
|
Line 2051 sub student_performance_on_sequence {
|
Line 2096 sub student_performance_on_sequence {
|
push (@ScoreData,$partscore); |
push (@ScoreData,$partscore); |
# |
# |
if ( ($links eq 'yes' && $symbol ne ' ') || ($links eq 'all')) { |
if ( ($links eq 'yes' && $symbol ne ' ') || ($links eq 'all')) { |
$symbol = '<a href="/adm/grades'. |
my $link = '/adm/grades' . |
'?symb='.&Apache::lonnet::escape($symb). |
'?symb='.&Apache::lonnet::escape($symb). |
'&student='.$student->{'username'}. |
'&student='.$student->{'username'}. |
'&userdom='.$student->{'domain'}. |
'&userdom='.$student->{'domain'}. |
'&command=submission">'.$symbol.'</a>'; |
'&command=submission'; |
|
$symbol = &link($symbol, $link); |
} |
} |
$Str .= $symbol; |
$Str .= $symbol; |
} |
} |