--- loncom/interface/statistics/lonstudentsubmissions.pm 2005/03/14 20:28:22 1.37
+++ loncom/interface/statistics/lonstudentsubmissions.pm 2009/04/21 13:28:23 1.54
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstudentsubmissions.pm,v 1.37 2005/03/14 20:28:22 matthew Exp $
+# $Id: lonstudentsubmissions.pm,v 1.54 2009/04/21 13:28:23 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,7 +27,7 @@
package Apache::lonstudentsubmissions;
use strict;
-use Apache::lonnet();
+use Apache::lonnet;
use Apache::loncommon();
use Apache::lonhtmlcommon();
use Apache::loncoursedata();
@@ -37,6 +37,9 @@ use Apache::lonstathelpers;
use HTML::Entities();
use Time::Local();
use Spreadsheet::WriteExcel();
+use lib '/home/httpd/lib/perl/';
+use LONCAPA;
+
my @SubmitButtons = ({ name => 'SelectAnother',
text => 'Choose a different Problem' },
@@ -63,16 +66,18 @@ sub BuildStudentSubmissionsPage {
my @Students = @Apache::lonstatistics::Students;
#
if (@Students < 1) {
- $r->print('
There are no students in the sections selected
');
+ $r->print('
'
+ .&mt('There are no students in the sections selected.')
+ .'
');
}
#
my @CacheButtonHTML =
&Apache::lonstathelpers::manage_caches($r,'Statistics','stats_status',
- '
'.&mt('Loading student data').'
');
+ '
'.&mt('Loading student data...').'
');
$r->rflush();
#
- if (exists($ENV{'form.problemchoice'}) &&
- ! exists($ENV{'form.SelectAnother'})) {
+ if (exists($env{'form.problemchoice'}) &&
+ ! exists($env{'form.SelectAnother'})) {
foreach my $button (@SubmitButtons) {
if ($button->{'name'} eq 'break') {
$r->print(" \n");
@@ -100,7 +105,7 @@ sub BuildStudentSubmissionsPage {
# Get resource objects
my $navmap = Apache::lonnavmaps::navmap->new();
if (!defined($navmap)) {
- $r->print('
'.&mt("Internal error").'
');
+ $r->print('
'.&mt("Internal error").'
');
return;
}
my %already_seen;
@@ -120,14 +125,14 @@ sub BuildStudentSubmissionsPage {
my $resource = $Problems[0];
$r->print('
'.$resource->title.'
');
$r->print('
'.$resource->src.'
');
- if ($ENV{'form.renderprob'} eq 'true') {
+ if ($env{'form.renderprob'} eq 'true') {
$r->print(&Apache::lonstathelpers::render_resource($resource));
$r->rflush();
}
}
- if ($ENV{'form.output'} eq 'excel') {
+ if ($env{'form.output'} eq 'excel') {
&prepare_excel_output($r,\@Problems,\@Students);
- } elsif ($ENV{'form.output'} eq 'csv') {
+ } elsif ($env{'form.output'} eq 'csv') {
&prepare_csv_output($r,\@Problems,\@Students);
} else {
&prepare_html_output($r,\@Problems,\@Students);
@@ -142,7 +147,7 @@ sub BuildStudentSubmissionsPage {
&mt('Computing correct answers greatly increasese the amount of time required to prepare a report.').
'');
$r->print('
'.
- &mt('please select problems and use the Prepare Report button to continue.').
+ &mt('Please select problems and use the [_1]Prepare Report[_2] button to continue.','','').
'
');
$r->print(&Apache::lonstathelpers::MultipleProblemSelector
(undef,'problemchoice','Statistics'));
@@ -154,10 +159,10 @@ sub BuildStudentSubmissionsPage {
##
sub get_extra_response_headers {
my @extra_resp_headers;
- if ($ENV{'form.correctans'} eq 'true') {
+ if ($env{'form.correctans'} eq 'true') {
push(@extra_resp_headers,'Correct');
}
- if ($ENV{'form.prob_status'} eq 'true') {
+ if ($env{'form.prob_status'} eq 'true') {
push(@extra_resp_headers,'Award Detail');
push(@extra_resp_headers,'Time');
push(@extra_resp_headers,'Attempt');
@@ -190,6 +195,8 @@ sub get_headers {
shift(@basic_headers); # Get rid of 'Correct'
}
@headers = (@foils,@basic_headers);
+ } elsif (lc($resptype) eq 'task') {
+ @headers = ('Grader','Status',@basic_headers,'Submission');
} else {
@headers = ('Submission',@basic_headers);
}
@@ -218,7 +225,7 @@ sub prepare_html_output {
my @extra_resp_headers = &get_extra_response_headers();
#
# Create the table header
- my @student_columns = ('username','domain','id');
+ my @student_columns = ('username','domain','id','section');
#
my %headers;
my $student_column_count = scalar(@student_columns);
@@ -258,11 +265,15 @@ sub prepare_html_output {
$headers{'response'} .=
'
'.
&mt('Response [_1]',$responses->[$i]).'
';
- $headers{'student'}.= '
'.join('
',
+ $headers{'student'}.= '
'.
+ join('
',
@headers).
- '
';
+ '
';
}
}
+ if ($part_span == 0) {
+ next;
+ }
if (! $single_part) {
my $tmpname = $partid;
if ($partid =~/^\d+$/) {
@@ -274,7 +285,7 @@ sub prepare_html_output {
$headers{'part'} .= qq{