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

bowersj2 lon-capa-cvs@mail.lon-capa.org
Fri, 15 Nov 2002 18:10:22 -0000


bowersj2		Fri Nov 15 13:10:22 2002 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm 
  Log:
  Adds "awarded" method, and factors out the getReturnHash call. May not
  work, this is a "transfer commit".
  
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.107 loncom/interface/lonnavmaps.pm:1.108
--- loncom/interface/lonnavmaps.pm:1.107	Fri Nov 15 12:30:33 2002
+++ loncom/interface/lonnavmaps.pm	Fri Nov 15 13:10:22 2002
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.107 2002/11/15 17:30:33 bowersj2 Exp $
+# $Id: lonnavmaps.pm,v 1.108 2002/11/15 18:10:22 bowersj2 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2005,10 +2005,7 @@
     }
     return $self->parmval("answerdate", $part);
 }
-sub awarded {
-    (my $self, my $part) = @_;
-    return $self->parmval("awarded", $part);
-}
+sub awarded { my $self = shift; return $self->queryRestoreHash('awarded', shift); }
 sub duedate {
     (my $self, my $part) = @_;
     return $self->parmval("duedate", $part);
@@ -2033,16 +2030,10 @@
     (my $self, my $part) = @_;
     return $self->parmval("tol", $part);
 }
-sub tries {
-    my $self = shift;
-    my $part = shift;
-    $part = '0' if (!defined($part));
-
-    # Make sure return hash is loaded, should error check
-    $self->getReturnHash();
-    
-    my $tries = $self->{RETURN_HASH}->{'resource.'.$part.'.tries'};
-    if (!defined($tries)) {return '0';}
+sub tries { 
+    my $self = shift; 
+    my $tries = $self->queryRestoreHash('tries', shift);
+    if (!defined($tries)) { return '0';}
     return $tries;
 }
 sub type {
@@ -2312,14 +2303,9 @@
 
 sub getCompletionStatus {
     my $self = shift;
-    my $part = shift;
-    $part = "0" if (!defined($part));
     return $self->NETWORK_FAILURE if ($self->{NAV_MAP}->{NETWORK_FAILURE});
 
-    # Make sure return hash exists
-    $self->getReturnHash();
-    
-    my $status = $self->{RETURN_HASH}->{'resource.'.$part.'.solved'};
+    my $status = $self->queryRestoreHash('solved', shift);
 
     # Left as seperate if statements in case we ever do more with this
     if ($status eq 'correct_by_student') {return $self->CORRECT;}
@@ -2329,6 +2315,18 @@
     if ($status eq 'excused') {return $self->EXCUSED; }
     if ($status eq 'ungraded_attempted') {return $self->ATTEMPTED; }
     return $self->NOT_ATTEMPTED;
+}
+
+sub queryRestoreHash {
+    my $self = shift;
+    my $hashentry = shift;
+    my $part = shift;
+    $part = "0" if (!defined($part));
+    return $self->NETWORK_FAILURE if ($self->{NAV_MAP}->{NETWORK_FAILURE});
+
+    $self->getReturnHash();
+
+    return $self->{RETURN_HASH}->{'resource.'.$part.'.'.$hashentry};
 }
 
 =pod