version 1.67, 2012/03/20 17:52:23
|
version 1.69, 2012/10/12 14:08:42
|
Line 196 sub BuildStudentSubmissionsPage {
|
Line 196 sub BuildStudentSubmissionsPage {
|
$threshold = 10; |
$threshold = 10; |
} |
} |
} |
} |
$r->print('<h4>'. |
$r->print('<p>'. |
&Apache::lonstatistics::section_and_enrollment_description(). |
&Apache::lonstatistics::section_and_enrollment_description(). |
'</h4>'); |
'</p>'); |
if (! scalar(@Problems) || ! defined($Problems[0])) { |
if (! scalar(@Problems) || ! defined($Problems[0])) { |
$r->print(&mt('resource is undefined')); |
$r->print(&mt('resource is undefined')); |
} elsif (!$show_named && @Students < $threshold) { |
} elsif (!$show_named && @Students < $threshold) { |
Line 414 sub prepare_html_output {
|
Line 414 sub prepare_html_output {
|
qq{<th colspan="$student_column_count">\ </th>}. |
qq{<th colspan="$student_column_count">\ </th>}. |
$headers{'response'}; |
$headers{'response'}; |
} |
} |
my $full_header = $/.'<table>'.$/; |
#my $full_header = $/.'<table>'.$/; |
|
my $full_header = $/.&Apache::loncommon::start_data_table().$/; |
$full_header .= '<tr align="left">'.$headers{'problem'}.'</tr>'.$/; |
$full_header .= '<tr align="left">'.$headers{'problem'}.'</tr>'.$/; |
if ($nonempty_part_headers) { |
if ($nonempty_part_headers) { |
$full_header .= '<tr align="left">'.$headers{'part'}.'</tr>'.$/; |
$full_header .= '<tr align="left">'.$headers{'part'}.'</tr>'.$/; |
Line 425 sub prepare_html_output {
|
Line 426 sub prepare_html_output {
|
# Main loop |
# Main loop |
my $count; |
my $count; |
$r->print($/.$full_header.$/); |
$r->print($/.$full_header.$/); |
my $row_class = 'odd'; # css |
|
foreach my $student (@$students) { |
foreach my $student (@$students) { |
my $student_row_data; |
my $student_row_data; |
if ($count++ >= 30) { |
if ($count++ >= 30) { |
$r->print('</table>'.$/.$full_header.$/); |
$r->print(&Apache::loncommon::end_data_table().$/.$full_header.$/); |
$count = 0; |
$count = 0; |
} |
} |
last if ($c->aborted()); |
last if ($c->aborted()); |
Line 527 sub prepare_html_output {
|
Line 527 sub prepare_html_output {
|
next if (! $maxrow && ! scalar(@essays)); |
next if (! $maxrow && ! scalar(@essays)); |
# |
# |
# Go through the problem data and output a row. |
# Go through the problem data and output a row. |
if ($row_class eq 'even') { |
|
$row_class = 'odd'; |
|
} else { |
|
$row_class = 'even'; |
|
} |
|
my $printed_something; |
my $printed_something; |
for (my $rows_output = 0;$rows_output<$maxrow;$rows_output++) { |
for (my $rows_output = 0;$rows_output<$maxrow;$rows_output++) { |
my $html; |
my $html; |
Line 555 sub prepare_html_output {
|
Line 550 sub prepare_html_output {
|
} |
} |
} |
} |
if (! $no_data) { |
if (! $no_data) { |
$r->print(qq{<tr class="$row_class">$student_row_data$html</tr>}.$/); |
$r->print(&Apache::loncommon::start_data_table_row().$student_row_data.$html. |
|
&Apache::loncommon::end_data_table_row().$/); |
$printed_something=1; |
$printed_something=1; |
} |
} |
} |
} |
if (@essays) { |
if (@essays) { |
my $tr = qq{<tr class="$row_class">}; |
my $tr = &Apache::loncommon::start_data_table_row(); |
my $td = qq{<td valign="top" class="essay" colspan="$total_col">}; |
my $td = qq{<td valign="top" class="essay" colspan="$total_col">}; |
if (! $printed_something) { |
if (! $printed_something) { |
$r->print($tr.$student_row_data.'</tr>'.$/); |
$r->print($tr.$student_row_data.&Apache::loncommon::end_data_table_row().$/); |
} |
} |
$r->print($tr.$td. |
$r->print($tr.$td. |
join('</td></tr>'.$/.$tr.$td,@essays).'</td></tr>'.$/); |
join('</td></tr>'.$/.$tr.$td,@essays).'</td></tr>'.$/); |
undef(@essays); |
undef(@essays); |
} |
} |
} # end of student loop |
} # end of student loop |
$r->print('</table>'.$/); |
$r->print(&Apache::loncommon::end_data_table().$/); |
return; |
return; |
} |
} |
|
|
Line 736 sub html_non_essay_results {
|
Line 732 sub html_non_essay_results {
|
} |
} |
} |
} |
} else { |
} else { |
@values = map { $response->{$_}; } @$headers; |
foreach my $original_header (@$headers) { |
|
if ($original_header eq 'Time') { |
|
push(@values,&Apache::lonlocal::locallocaltime($response->{$original_header})); |
|
} else { |
|
# A normal column |
|
push(@values,$response->{$original_header}); |
|
} |
|
} |
} |
} |
my $td = '<td valign="top">'; |
my $td = '<td valign="top">'; |
my $str = $td.join('</td>'.$td,@values).'</td>'; |
my $str = $td.join('</td>'.$td,@values).'</td>'; |
Line 787 sub prepare_excel_output {
|
Line 790 sub prepare_excel_output {
|
$lastprob = $prob; |
$lastprob = $prob; |
} |
} |
if ($columncount > 255) { |
if ($columncount > 255) { |
$r->print('<h1>'.&mt('Unable to complete request').'</h1>'.$/. |
$r->print('<p class="LC_error">'.&mt('Unable to complete request').'</p>'.$/. |
'<p>'.&mt('LON-CAPA is unable to produce your Excel spreadsheet because your selections will result in more than 255 columns. Excel allows only 255 columns in a spreadsheet.').'</p>'.$/. |
'<p class="LC_warning">'.&mt('LON-CAPA is unable to produce your Excel spreadsheet because your selections will result in more than 255 columns. Excel allows only 255 columns in a spreadsheet.').'</p>'.$/. |
'<p>'.&mt('Consider selecting fewer problems to generate reports on, or reducing the number of items per problem. Or use HTML or CSV output.').'</p>'.$/); |
'<p class="LC_warning">'.&mt('Consider selecting fewer problems to generate reports on, or reducing the number of items per problem. Or use HTML or CSV output.').'</p>'.$/); |
if (ref($lastprob)) { |
if (ref($lastprob)) { |
$r->print('<p>'.&mt('The last problem that will fit in the current spreadsheet is [_1].',$lastprob->compTitle).'</p>'); |
$r->print('<p>'.&mt('The last problem that will fit in the current spreadsheet is [_1].',$lastprob->compTitle).'</p>'); |
} |
} |
Line 799 sub prepare_excel_output {
|
Line 802 sub prepare_excel_output {
|
# |
# |
# Print out a message telling them what we are doing |
# Print out a message telling them what we are doing |
if (scalar(@$Problems) > 1) { |
if (scalar(@$Problems) > 1) { |
$r->print('<h2>'. |
$r->print('<p class="LC_info">'. |
&mt('Preparing Excel spreadsheet of student responses to [_1] problems', |
&mt('Preparing Excel spreadsheet of student responses to [_1] problems', |
scalar(@$Problems)). |
scalar(@$Problems)). |
'</h2>'); |
'</p>'); |
} else { |
} else { |
$r->print('<h2>'. |
$r->print('<p class="LC_info">'. |
&mt('Preparing Excel spreadsheet of student responses'). |
&mt('Preparing Excel spreadsheet of student responses'). |
'</h2>'); |
'</p>'); |
} |
} |
$r->rflush(); |
$r->rflush(); |
# |
# |
Line 1071 sub prepare_csv_output {
|
Line 1074 sub prepare_csv_output {
|
my ($r,$problems,$students,$anoncounter,$show_named) = @_; |
my ($r,$problems,$students,$anoncounter,$show_named) = @_; |
my $c = $r->connection(); |
my $c = $r->connection(); |
# |
# |
$r->print('<h2>'. |
$r->print('<p class="LC_info">'. |
&mt('Generating CSV report of student responses').'</h2>'); |
&mt('Generating CSV report of student responses').'</p>'); |
# |
# |
# Progress window |
# Progress window |
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,scalar(@$students)); |
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,scalar(@$students)); |
Line 1242 sub prepare_csv_output {
|
Line 1245 sub prepare_csv_output {
|
sub csv_format_item { |
sub csv_format_item { |
my ($item,$type) = @_; |
my ($item,$type) = @_; |
if ($type eq 'Time') { |
if ($type eq 'Time') { |
$item = localtime($item); |
$item = &Apache::lonlocal::locallocaltime($item); |
} |
} |
$item =&Apache::loncommon::csv_translate($item); |
$item =&Apache::loncommon::csv_translate($item); |
return $item; |
return $item; |