version 1.157, 2013/03/06 11:39:00
|
version 1.165, 2020/11/10 19:28:32
|
Line 366 sub section_or_group_text {
|
Line 366 sub section_or_group_text {
|
|
|
sub get_students { |
sub get_students { |
if (! @Students) { |
if (! @Students) { |
&PrepareClasslist() |
&PrepareClasslist(); |
} |
} |
return @Students; |
return @Students; |
} |
} |
Line 466 sub selected_sequences_with_assessments
|
Line 466 sub selected_sequences_with_assessments
|
|
|
my @sequences_with_assessments; |
my @sequences_with_assessments; |
foreach my $sequence (@sequences) { |
foreach my $sequence (@sequences) { |
if ($navmap->hasResource($sequence,sub { shift->is_problem(); },0,1)){ |
if ($navmap->hasResource($sequence,sub { shift->is_gradable(); },0,1)){ |
push(@sequences_with_assessments,$sequence); |
push(@sequences_with_assessments,$sequence); |
} |
} |
} |
} |
Line 511 sub map_select {
|
Line 511 sub map_select {
|
if ($selected_maps[0] eq 'all') { |
if ($selected_maps[0] eq 'all') { |
$form .= ' selected="selected"'; |
$form .= ' selected="selected"'; |
} |
} |
$form .= ">all</option>\n"; |
$form .= '>'.&mt('all').'</option>'."\n"; |
# |
# |
# Loop through the sequences |
# Loop through the sequences |
my @sequences = &selected_sequences_with_assessments('all'); |
my @sequences = &selected_sequences_with_assessments('all'); |
Line 547 sub SectionSelect {
|
Line 547 sub SectionSelect {
|
&PrepareClasslist() |
&PrepareClasslist() |
} |
} |
# |
# |
|
# Make sure course's student table is up to date |
|
if (@Sections) { |
|
&Apache::loncoursedata::ensure_current_sections(); |
|
} |
|
# |
# Build the form element |
# Build the form element |
my $Str = "\n"; |
my $Str = "\n"; |
$Str .= '<select name="'.$elementname.'" '; |
$Str .= '<select name="'.$elementname.'" '; |
Line 582 sub GroupSelect {
|
Line 587 sub GroupSelect {
|
&PrepareClasslist(); |
&PrepareClasslist(); |
} |
} |
# |
# |
|
# Make sure course's groupnames and studentgroups tables |
|
# are up to date. |
|
# |
|
if (@Groups) { |
|
&Apache::loncoursedata::ensure_current_groups(); |
|
&Apache::loncoursedata::ensure_current_students_groups(); |
|
} |
|
# |
# Build the form element |
# Build the form element |
my $Str = "\n"; |
my $Str = "\n"; |
$Str .= '<select name="'.$elementname.'" '; |
$Str .= '<select name="'.$elementname.'" '; |
Line 615 sub DisplayClasslist {
|
Line 628 sub DisplayClasslist {
|
# Output some of the standard interface components |
# Output some of the standard interface components |
my $Str; |
my $Str; |
$Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student'); |
$Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student'); |
$Str .= '<p><table cellspacing="5">'."\n"; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= '<tr>'; |
$Str .= '<tr>'; |
$Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>'; |
$Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>'; |
$Str .= '<th align="center"><b>'.&mt('Groups').'</b></th>'; |
$Str .= '<th align="center"><b>'.&mt('Groups').'</b></th>'; |
Line 633 sub DisplayClasslist {
|
Line 646 sub DisplayClasslist {
|
'</td>'; |
'</td>'; |
|
|
$Str .= '</tr>'.$/; |
$Str .= '</tr>'.$/; |
$Str .= '</table></p>'; |
$Str .= '</table>'; |
$Str .= '<input type="submit" name="selectstudent" value="'. |
$Str .= '<input type="submit" name="selectstudent" value="'. |
&mt('Update Display').'" />'; |
&mt('Update Display').'" />'; |
$r->print($Str); |
$r->print($Str); |
Line 696 sub DisplayClasslist {
|
Line 709 sub DisplayClasslist {
|
.&Apache::loncommon::start_data_table_header_row(); |
.&Apache::loncommon::start_data_table_header_row(); |
foreach my $field (@Fields) { |
foreach my $field (@Fields) { |
$Str .= '<th><a href="/adm/statistics?'. |
$Str .= '<th><a href="/adm/statistics?'. |
'reportSelected=student_assessment&'. |
'reportSelected=student_assessment&'. |
'selectstudent=1&'. |
'selectstudent=1&'. |
'sort='.$field.'">'.&mt($field). |
'sort='.$field.'">'.&mt($field). |
'</a></th>'; |
'</a></th>'; |
} |
} |
Line 712 sub DisplayClasslist {
|
Line 725 sub DisplayClasslist {
|
if ($field eq 'fullname' || $field eq 'username') { |
if ($field eq 'fullname' || $field eq 'username') { |
$Str .= '<a href="/adm/statistics?reportSelected='; |
$Str .= '<a href="/adm/statistics?reportSelected='; |
$Str .= &escape('student_assessment'); |
$Str .= &escape('student_assessment'); |
$Str .= '&sort='.&escape($env{'form.sort'}); |
$Str .= '&sort='.&escape($env{'form.sort'}); |
$Str .= '&SelectedStudent='; |
$Str .= '&SelectedStudent='; |
$Str .= &escape($sname).'">'; |
$Str .= &escape($sname).'">'; |
$Str .= $student->{$field}; |
$Str .= $student->{$field}; |
$Str .= '</a>'; |
$Str .= '</a>'; |
Line 819 sub handler {
|
Line 832 sub handler {
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['sort','reportSelected', |
['sort','reportSelected', |
'SelectedStudent']); |
'SelectedStudent']); |
|
my $GoToPage = $env{'form.reportSelected'}; |
|
|
# |
# |
# Give the LON-CAPA page header |
# Give the LON-CAPA page header |
my $style = <<ENDSTYLE; |
my $style = <<ENDSTYLE; |
Line 829 sub handler {
|
Line 844 sub handler {
|
td.essay { border: 1px solid gray; } |
td.essay { border: 1px solid gray; } |
</style> |
</style> |
ENDSTYLE |
ENDSTYLE |
|
|
|
my $head_extra = $style; |
|
if (($env{'form.reportSelected'} eq 'student_submission_reports') && |
|
($env{'form.renderprob'})) { |
|
my @Symbs = &Apache::lonstathelpers::get_selected_symbs('problemchoice'); |
|
if (scalar(@Symbs) == 1) { |
|
$head_extra .= &Apache::loncommon::css_links($Symbs[0]); |
|
} |
|
} elsif ($env{'form.reportSelected'} eq 'submissiontime_analysis') { |
|
my ($navmap,$current_problem) = |
|
&Apache::lonsubmissiontimeanalysis::get_current_problem(); |
|
if (ref($current_problem) eq 'HASH') { |
|
my $symb = $current_problem->{'symb'}; |
|
if ($symb) { |
|
$head_extra .= &Apache::loncommon::css_links($symb); |
|
} |
|
} |
|
} elsif (($env{'form.reportSelected'} eq 'problem_analysis') && |
|
($env{'form.show_prob'})) { |
|
my $problem_types = &Apache::lonproblemanalysis::analyzable_types(); |
|
my ($navmap,$current_problem) = |
|
&Apache::lonproblemanalysis::get_current_problem($problem_types); |
|
if (ref($current_problem) eq 'HASH') { |
|
my $symb = $current_problem->{'symb'}; |
|
my $res = $current_problem->{'resource'}; |
|
if ($symb) { |
|
$head_extra .= &Apache::loncommon::css_links($symb); |
|
} |
|
} |
|
} |
$r->print(&Apache::loncommon::start_page('Course Statistics and Charts', |
$r->print(&Apache::loncommon::start_page('Course Statistics and Charts', |
$style)); |
$head_extra)); |
$r->rflush(); |
$r->rflush(); |
# |
# |
# Either print out a menu for them or send them to a report |
# Either print out a menu for them or send them to a report |
Line 841 ENDSTYLE
|
Line 885 ENDSTYLE
|
text =>'Statistics', |
text =>'Statistics', |
faq=>139, |
faq=>139, |
bug=>'Statistics and Charts'}); |
bug=>'Statistics and Charts'}); |
if (! exists($env{'form.reportSelected'}) || |
if ($GoToPage eq '') { |
$env{'form.reportSelected'} eq '') { |
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page')); |
&Apache::lonquickgrades::startGradeScreen($r,'statistics'); |
&Apache::lonquickgrades::startGradeScreen($r,'statistics'); |
$r->print(&CreateMainMenu()); |
$r->print(&CreateMainMenu()); |
Line 868 ENDSTYLE
|
Line 911 ENDSTYLE
|
# |
# |
# Clean out the caches |
# Clean out the caches |
if (exists($env{'form.ClearCache'})) { |
if (exists($env{'form.ClearCache'})) { |
&Apache::loncoursedata::delete_caches($env{'requres.course.id'}); |
&Apache::loncoursedata::delete_caches($env{'request.course.id'}); |
} |
} |
# |
# |
my $GoToPage = $env{'form.reportSelected'}; |
|
# |
|
# Begin form output |
# Begin form output |
$r->print('<form name="Statistics" '); |
$r->print('<form name="Statistics" '); |
if ($GoToPage eq 'student_submission_reports') { |
if ($GoToPage eq 'student_submission_reports') { |