--- loncom/interface/statistics/lonproblemanalysis.pm 2013/10/01 14:52:47 1.144 +++ loncom/interface/statistics/lonproblemanalysis.pm 2020/11/10 19:28:32 1.147 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonproblemanalysis.pm,v 1.144 2013/10/01 14:52:47 bisitz Exp $ +# $Id: lonproblemanalysis.pm,v 1.147 2020/11/10 19:28:32 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -92,7 +92,7 @@ sub BuildProblemAnalysisPage { &Apache::lonstathelpers::manage_caches($r,'Statistics','stats_status'); $r->rflush(); # - my $problem_types = '(option|radiobutton|numerical)'; + my $problem_types = &analyzable_types(); if (exists($env{'form.problemchoice'}) && ! exists($env{'form.SelectAnother'})) { foreach my $button (@SubmitButtons) { @@ -118,21 +118,9 @@ sub BuildProblemAnalysisPage { $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, - $problem_types, - 'response', - ); - 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'} = @@ -193,6 +181,28 @@ sub BuildProblemAnalysisPage { } } +sub analyzable_types { + return '(option|radiobutton|numerical)'; +} + +sub get_current_problem { + my ($problem_types) = @_; + 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, + $problem_types, + 'response'); + if (exists($env{'form.PrevProblemAnalysis'}) && ($prev ne '')) { + $current_problem = $prev; + } elsif (exists($env{'form.NextProblemAnalysis'}) && ($next ne '')) { + $current_problem = $next; + } else { + $current_problem = $curr; + } + return ($navmap,$current_problem); +} + ######################################################### ######################################################### ## @@ -1262,7 +1272,7 @@ sub OptionResponseAnalysis { $r->print($analysis_html); $r->rflush(); } else { - $r->print('div class="LC_warning"' + $r->print('
' .&mt('The analysis you have selected is not supported at this time.') .'
' ); @@ -1949,16 +1959,16 @@ sub CreateInterface { $showprob_checkbox.' '.&mt('Show problem'). '
'; ## - my $analyze_selector = ''; $Str .= '