--- loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2012/05/12 03:37:57 1.35.2.1
+++ loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2020/11/18 15:31:40 1.38
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonsubmissiontimeanalysis.pm,v 1.35.2.1 2012/05/12 03:37:57 raeburn Exp $
+# $Id: lonsubmissiontimeanalysis.pm,v 1.38 2020/11/18 15:31:40 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,6 +31,7 @@ use strict;
use Apache::lonnet;
use Apache::loncommon();
use Apache::lonhtmlcommon();
+use Apache::lonquickgrades();
use Apache::loncoursedata();
use Apache::lonstatistics;
use Apache::lonstathelpers;
@@ -67,14 +68,15 @@ sub BuildSubmissionTimePage {
&Apache::lonstatistics::PrepareClasslist();
#
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Submission Time Plots'));
+ &Apache::lonquickgrades::startGradeScreen($r,'statistics');
$r->print(&CreateInterface());
#
my @Students = @Apache::lonstatistics::Students;
#
if (@Students < 1) {
$r->print('
'
- .&mt('There are no students in the sections selected.'
- .'
')
+ .&mt('There are no students in the sections selected.')
+ .''
);
}
#
@@ -103,20 +105,9 @@ sub BuildSubmissionTimePage {
$r->rflush();
#
# Determine which problem we are to analyze
- my $current_problem = &Apache::lonstathelpers::get_target_from_id
- ($env{'form.problemchoice'});
- #
- my ($navmap,$prev,$curr,$next) =
- &Apache::lonstathelpers::get_prev_curr_next($current_problem,
- '.',
- 'part');
- if (exists($env{'form.PrevProblemAnalysis'}) && defined($prev)) {
- $current_problem = $prev;
- } elsif (exists($env{'form.NextProblemAnalysis'}) && defined($next)) {
- $current_problem = $next;
- } else {
- $current_problem = $curr;
- }
+ my ($navmap,$current_problem) = &get_current_problem(); # need to retrieve $navmap
+ # to support $resource->* calls
+ # for src and compTitle (below)
#
# Store the current problem choice and send it out in the form
$env{'form.problemchoice'} =
@@ -152,6 +143,23 @@ sub BuildSubmissionTimePage {
}
}
+sub get_current_problem {
+ my $current_problem = &Apache::lonstathelpers::get_target_from_id
+ ($env{'form.problemchoice'});
+ my ($navmap,$prev,$curr,$next) =
+ &Apache::lonstathelpers::get_prev_curr_next($current_problem,
+ '.',
+ 'part');
+ if (exists($env{'form.PrevProblemAnalysis'}) && defined($prev)) {
+ $current_problem = $prev;
+ } elsif (exists($env{'form.NextProblemAnalysis'}) && defined($next)) {
+ $current_problem = $next;
+ } else {
+ $current_problem = $curr;
+ }
+ return ($navmap,$current_problem);
+}
+
#########################################################
#########################################################
##
@@ -217,7 +225,7 @@ sub analyze_times {
my @Ydata=(0); # number of submissions
my @AnsData=(0); # number of correct submissions
my @Xlabel=($WeekDay[$wday]); # Labels of itmes
- my @BinEnd; # The end time of each bin
+ my @BinEnd=($endtime); # The end time of each bin
my $cumulative_answers = 0; # The sum of @AnsData
my %students; # which students have attempted the problem?
#
@@ -229,7 +237,7 @@ sub analyze_times {
$Ydata[$bincount] = 0;
$AnsData[$bincount] = 0;
$endtime += $binsize;
- push(@BinEnd,$endtime);
+ $BinEnd[$bincount] = $endtime;
if ($bincount % (86400/$binsize) == 0) {
$wday++;
$wday %= 7;
@@ -251,7 +259,7 @@ sub analyze_times {
$Ydata[$bincount]=0;
$AnsData[$bincount]=0;
$endtime += $binsize;
- push(@BinEnd,$endtime);
+ $BinEnd[$bincount]=$endtime;
if ($bincount % (86400/$binsize) == 0) {
$wday ++;
$wday %= 7;