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

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


raeburn		Sun Feb 28 23:39:00 2010 EDT

  Modified files:              
    /loncom/homework	matchresponse.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.
  
  
Index: loncom/homework/matchresponse.pm
diff -u loncom/homework/matchresponse.pm:1.78 loncom/homework/matchresponse.pm:1.79
--- loncom/homework/matchresponse.pm:1.78	Wed Dec  9 11:30:45 2009
+++ loncom/homework/matchresponse.pm	Sun Feb 28 23:39:00 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Full matching style response
 #
-# $Id: matchresponse.pm,v 1.78 2009/12/09 11:30:45 foxr Exp $
+# $Id: matchresponse.pm,v 1.79 2010/02/28 23:39:00 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -392,9 +392,21 @@
 	$itemstr;
     $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 'anonsurvey') {
+                $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS';
+            } elsif ($Apache::lonhomework::type eq 'anonsurveycred') {
+                $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='ANONYMOUS_CREDIT';
+            } 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 {
@@ -500,7 +512,10 @@
 	my $temp=1;
 	my $id=$Apache::inputtags::response[-1];
 	my $part=$Apache::inputtags::part;
-	my $lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"};
+        my $lastresponse;
+        unless ((($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurvey') || ($Apache::lonhomework::history{"resource.$part.type"} eq 'anonsurveycred')) && (defined($env{'form.grade_symb'}))) {
+	    $lastresponse=$Apache::lonhomework::history{"resource.$part.$id.submission"};
+        }
 	my %lastresponse=&Apache::lonnet::str2hash($lastresponse);    
 	my @alphabet=('A'..'Z');
 	my @used_letters=sort(keys(%letter_name_map));