[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /interface/statistics lonproblemanalysis.pm

raeburn raeburn at source.lon-capa.org
Wed Nov 11 19:15:27 EST 2020


raeburn		Thu Nov 12 00:15:27 2020 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/interface/statistics	lonproblemanalysis.pm 
  Log:
  - For 2.11
    Backport 1.147
  
  
Index: loncom/interface/statistics/lonproblemanalysis.pm
diff -u loncom/interface/statistics/lonproblemanalysis.pm:1.142.2.4 loncom/interface/statistics/lonproblemanalysis.pm:1.142.2.5
--- loncom/interface/statistics/lonproblemanalysis.pm:1.142.2.4	Thu Feb 27 03:11:14 2014
+++ loncom/interface/statistics/lonproblemanalysis.pm	Thu Nov 12 00:15:27 2020
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonproblemanalysis.pm,v 1.142.2.4 2014/02/27 03:11:14 raeburn Exp $
+# $Id: lonproblemanalysis.pm,v 1.142.2.5 2020/11/12 00:15:27 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -90,7 +90,7 @@
         &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) {
@@ -116,21 +116,9 @@
         $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'} = 
@@ -191,6 +179,28 @@
     }
 }
 
+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);
+}
+
 #########################################################
 #########################################################
 ##




More information about the LON-CAPA-cvs mailing list