[LON-CAPA-cvs] cvs: loncom /homework optionresponse.pm

raeburn raeburn@source.lon-capa.org
Sun, 28 Feb 2010 23:40:54 -0000


raeburn		Sun Feb 28 23:40:54 2010 EDT

  Modified files:              
    /loncom/homework	optionresponse.pm 
  Log:
  - New awards for surveys:
   ANONYMOUS ANONYMOUS_CREDIT SUBMITTED_CREDIT
    - given for question types: anonsurvey, anonsurvey_cred, survey_cred.
      - anonsurvey -- course personnel can not view both identity of submitter
                      and submission details.
      - anonsurveycred -- same anonymity, but submitter receives 'awarded' for
                          submission
      - surveycred - submitter receives 'awarded' for submission to survey.
  - Do not display submission information in grading view for anonymous surveys.
  
  
Index: loncom/homework/optionresponse.pm
diff -u loncom/homework/optionresponse.pm:1.162 loncom/homework/optionresponse.pm:1.163
--- loncom/homework/optionresponse.pm:1.162	Fri Feb  5 23:02:39 2010
+++ loncom/homework/optionresponse.pm	Sun Feb 28 23:40:53 2010
@@ -1,7 +1,7 @@
 # LearningOnline Network with CAPA
 # option list style responses
 #
-# $Id: optionresponse.pm,v 1.162 2010/02/05 23:02:39 www Exp $
+# $Id: optionresponse.pm,v 1.163 2010/02/28 23:40:53 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -259,9 +259,21 @@
 	    $responsestr;
 	$Apache::lonhomework::results{"resource.$part.$id.submissiongrading"}=$gradestr;
 	
-	if ($Apache::lonhomework::type eq 'survey') {
+	if (($Apache::lonhomework::type eq 'survey') ||
+            ($Apache::lonhomework::type eq 'surveycred') ||
+            ($Apache::lonhomework::type eq 'anonsurvey') ||
+            ($Apache::lonhomework::type eq 'anonsurveycred')) {
 	    if ($ignored == 0) {
-		my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED';
+                my $ad;
+                if ($Apache::lonhomework::type eq 'anonsurveycred') {
+                    $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS_CREDIT';
+                } elsif ($Apache::lonhomework::type eq 'anonsurvey') {
+                    $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS';
+                } elsif ($Apache::lonhomework::type eq 'surveycred') {
+                    $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED_CREDIT';
+                } else {
+		    $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='SUBMITTED';
+                }
 		&Apache::response::handle_previous(\%previous,$ad);
 	    } elsif ($wrong==0 && $right==0) {
 	    } else {
@@ -423,7 +435,11 @@
     my $temp=1;
     foreach $name (@whichopt) {
 	my $text=$Apache::response::foilgroup{$name.'.text'};
-	my %lastresponse=&Apache::lonnet::str2hash($Apache::lonhomework::history{"resource.$part.$id.submission"});
+        my $lastresp;
+        unless ((($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || ($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) && (defined($env{'form.grade_symb'}))) {
+            $lastresp = $Apache::lonhomework::history{"resource.$part.$id.submission"};
+        }
+	my %lastresponse=&Apache::lonnet::str2hash($lastresp);
 	my $lastopt=$lastresponse{$name};
 	if ($text!~/^\s*$/) { $break='<br />'; }
 	$result.=$break;