[LON-CAPA-cvs] cvs: loncom /interface/statistics lonproblemanalysis.pm lonstathelpers.pm

matthew lon-capa-cvs@mail.lon-capa.org
Wed, 23 Feb 2005 02:03:42 -0000


matthew		Tue Feb 22 21:03:42 2005 EDT

  Modified files:              
    /loncom/interface/statistics	lonstathelpers.pm 
                                	lonproblemanalysis.pm 
  Log:
  lonstathelpers:Added &submission_report_form which provides a direct link
      to the student submission reports page from another statistics page.
      It will not work from any other component of LON-CAPA.
  lonproblemanalysis:Added call to submission_report_form
  
  
Index: loncom/interface/statistics/lonstathelpers.pm
diff -u loncom/interface/statistics/lonstathelpers.pm:1.37 loncom/interface/statistics/lonstathelpers.pm:1.38
--- loncom/interface/statistics/lonstathelpers.pm:1.37	Tue Feb 22 17:56:32 2005
+++ loncom/interface/statistics/lonstathelpers.pm	Tue Feb 22 21:03:42 2005
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstathelpers.pm,v 1.37 2005/02/22 22:56:32 matthew Exp $
+# $Id: lonstathelpers.pm,v 1.38 2005/02/23 02:03:42 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1386,6 +1386,57 @@
     return;
 }
 
+####################################################
+####################################################
+
+=pod
+
+=item &submission_report_form
+
+Input: The originating reportSelected value for the current stats page.
+
+Output: Scalar containing HTML with needed form elements and a link to 
+the student submission reports page.
+
+=cut
+
+####################################################
+####################################################
+sub submission_report_form {
+    my ($original_report) = @_;
+    # Note: In the link below we change the reportSelected value.  If
+    # the user hits the 'back' button on the browser after getting their
+    # student submissions report, this value may still be around.  So we
+    # output a script block to set it properly.  If the $original_report
+    # value is unset, you are just asking for trouble.
+    if (! defined($original_report)) {
+        &Apache::lonnet::logthis
+            ('someone called lonstathelpers::submission_report_form without '.
+             ' enough input.');
+    }
+    my $html = $/.
+        '<script type="Text/JavaScript">'.
+        "document.Statistics.reportSelected.value='$original_report';".
+        '</script>'.
+        '<input type="hidden" name="correctans" value="true" />'.
+        '<input type="hidden" name="prob_status" value="true" />'.
+        '<input type="hidden" name="all_sub" value="true" />';
+    my $output_selector = $/.'<select name="output">'.$/;
+    foreach ('HTML','Excel','CSV') {
+        $output_selector .= '    <option value="'.lc($_).'"';
+        if ($ENV{'form.output'} eq lc($_)) {
+            $output_selector .= ' selected ';
+        }
+        $output_selector .='>'.&mt($_).'</option>'.$/;
+    } 
+    $output_selector .= '</select>'.$/;
+    my $link = '<a href="javascript:'.
+       q{document.Statistics.reportSelected.value='student_submission_reports';}.
+       'document.Statistics.submit();">';
+    $html.= &mt('View data as [_1] [_2]go[_3]',$output_selector,
+                $link,'</a>').$/;
+    return $html
+}
 
 ####################################################
 ####################################################
Index: loncom/interface/statistics/lonproblemanalysis.pm
diff -u loncom/interface/statistics/lonproblemanalysis.pm:1.114 loncom/interface/statistics/lonproblemanalysis.pm:1.115
--- loncom/interface/statistics/lonproblemanalysis.pm:1.114	Tue Feb 22 17:51:16 2005
+++ loncom/interface/statistics/lonproblemanalysis.pm	Tue Feb 22 21:03:42 2005
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonproblemanalysis.pm,v 1.114 2005/02/22 22:51:16 matthew Exp $
+# $Id: lonproblemanalysis.pm,v 1.115 2005/02/23 02:03:42 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -97,6 +97,9 @@
             $r->print($html.('&nbsp;'x5));
         }
         #
+        $r->print(&Apache::lonstathelpers::submission_report_form
+                                                      ('problem_analysis'));
+        #
         $r->print('<hr />');
         $r->rflush();
         #