[LON-CAPA-cvs] cvs: loncom /interface lonnavmaps.pm

raeburn raeburn@source.lon-capa.org
Thu, 12 Aug 2010 16:03:25 -0000


raeburn		Thu Aug 12 16:03:25 2010 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm 
  Log:
  - bug 6119.
    - For anonymous survey with credit, or survey with credit, define
      new completion state:  CREDIT_ATTEMPTED so Table of Contents
      will show check mark for these items if a submission was made.  
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.449 loncom/interface/lonnavmaps.pm:1.450
--- loncom/interface/lonnavmaps.pm:1.449	Thu Jun 24 14:21:39 2010
+++ loncom/interface/lonnavmaps.pm	Thu Aug 12 16:03:24 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.449 2010/06/24 14:21:39 bisitz Exp $
+# $Id: lonnavmaps.pm,v 1.450 2010/08/12 16:03:24 raeburn Exp $
 
 #
 # Copyright Michigan State University Board of Trustees
@@ -528,6 +528,7 @@
       $resObj->OPEN                   => '',
       $resObj->NOTHING_SET            => '',
       $resObj->ATTEMPTED              => '',
+      $resObj->CREDIT_ATTEMPTED       => '',
       $resObj->ANSWER_SUBMITTED       => '',
       $resObj->PARTIALLY_CORRECT      => '#006600'
       );
@@ -677,6 +678,11 @@
             return &mt("Answer submitted, not yet graded");
         }
     }
+    if ($status == $res->CREDIT_ATTEMPTED) {
+        if ($res->is_anonsurvey($part) || $res->is_survey($part)) {
+            return &mt("Credit for survey submission");
+        }
+    }
     if ($status == $res->TRIES_LEFT) {
         my $tries = $res->tries($part);
         my $maxtries = $res->maxtries($part);
@@ -4635,6 +4641,10 @@
 
 Attempted, and not yet graded.
 
+=item * B<CREDIT_ATTEMPTED>:
+
+Attempted, and credit received for attempt (survey and anonymous survey only).
+
 =back
 
 =cut
@@ -4646,6 +4656,7 @@
 sub CORRECT_BY_OVERRIDE   { return 14; }
 sub EXCUSED               { return 15; }
 sub ATTEMPTED             { return 16; }
+sub CREDIT_ATTEMPTED      { return 17; }
 
 sub getCompletionStatus {
     my $self = shift;
@@ -4664,6 +4675,13 @@
     if ($status eq 'incorrect_by_override') {return $self->INCORRECT_BY_OVERRIDE; }
     if ($status eq 'excused') {return $self->EXCUSED; }
     if ($status eq 'ungraded_attempted') {return $self->ATTEMPTED; }
+    if ($status eq 'credit_attempted') {
+        if ($self->is_anonsurvey($part) || $self->is_survey($part)) {
+            return $self->CREDIT_ATTEMPTED;
+        } else {
+            return $self->ATTEMPTED;
+        }
+    }
     return $self->NOT_ATTEMPTED;
 }
 
@@ -4753,6 +4771,10 @@
 
 The problem has been attempted.
 
+=item * B<CREDIT_ATTEMPTED>:
+
+The problem has been attempted, and credit given for the attempt (survey and anonymous survey only).
+
 =item * B<ANSWER_SUBMITTED>:
 
 An answer has been submitted, but the student should not see it.
@@ -4826,6 +4848,10 @@
         return ATTEMPTED;
     }
 
+    if ($completionStatus == CREDIT_ATTEMPTED) {
+        return CREDIT_ATTEMPTED;
+    }
+
     # If it's EXCUSED, then return that no matter what
     if ($completionStatus == EXCUSED) {
         return EXCUSED; 
@@ -5018,6 +5044,7 @@
       INCORRECT()             => INCORRECT,
       OPEN()                  => OPEN,
       ATTEMPTED()             => ATTEMPTED,
+      CREDIT_ATTEMPTED()      => CORRECT,
       ANSWER_SUBMITTED()      => ATTEMPTED
      );
 
@@ -5092,6 +5119,7 @@
         # and it is not "attempted" (manually graded problem), it is
         # not "complete"
 	if ($self->getCompletionStatus($part) == ATTEMPTED() ||
+            $self->getCompletionStatus($part) == CREDIT_ATTEMPTED() ||
 	    $status == ANSWER_SUBMITTED() ) {
 	    # did this part already, as well as we can
 	    next;