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

albertel lon-capa-cvs@mail.lon-capa.org
Mon, 09 May 2005 21:55:01 -0000


albertel		Mon May  9 17:55:01 2005 EDT

  Modified files:              
    /loncom/homework	bridgetask.pm 
  Log:
  - use the published id numbers
  
  
Index: loncom/homework/bridgetask.pm
diff -u loncom/homework/bridgetask.pm:1.18 loncom/homework/bridgetask.pm:1.19
--- loncom/homework/bridgetask.pm:1.18	Fri May  6 16:26:35 2005
+++ loncom/homework/bridgetask.pm	Mon May  9 17:55:01 2005
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # definition of tags that give a structure to a document
 #
-# $Id: bridgetask.pm,v 1.18 2005/05/06 20:26:35 albertel Exp $
+# $Id: bridgetask.pm,v 1.19 2005/05/09 21:55:01 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -469,11 +469,18 @@
     return $result;
 }
 
+sub get_id {
+    my ($parstack,$safeeval)=@_;
+    my $id=&Apache::lonxml::get_param('id',$parstack,$safeeval);
+    if (!$id) { $id=$Apache::lonxml::curdepth; }
+    return $id;
+}
+
 my %dimension;
 sub start_Dimension {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     undef(%dimension);
-    my $dim_id=$Apache::lonxml::curdepth;
+    my $dim_id=&get_id($parstack,$safeeval);
     $Apache::bridgetask::dimension=$dim_id;
     push(@Apache::bridgetask::dimensionlist,$dim_id);
     undef(@Apache::bridgetask::instance);
@@ -494,24 +501,23 @@
     sub end_Dimension {
 	my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
 	my $result;
+	my $instance=&get_instance();
 	if ($target eq 'web') {
-	    my $instance=&get_instance();
 	    $result=$dimension{'intro'}.$dimension{$instance.'.text'};
 	} elsif ($target eq 'webgrade') {
-	    my $instance=&get_instance();
 	    foreach my $id (@{$dimension{$instance.'.criterias'}}) {
 		my $link='criteria_'.$instance.'_'.$id;
-		$result.='<tr><td valign="top">'.
+		$result.='<tr><td width="100%" valign="top">'.
 		    '<a name="'.$link.'" />'.
 		    '<a name="next_'.$last_link.'" />'.
 		    '<br /><textarea enabled="false" style="width:100%" rows="8" width="25" wrap="hard">'.$dimension{$instance.'.criteria.'.$id}.'</textarea>'.
 		    #$dimension{$instance.'.criteria.'.$id}.
 		    '</td>'.
-		    '<td>Additional Comment for Student <br />'.
+		    '<td><nobr>Additional Comment for Student</nobr> <br />'.
 		    '<textarea style="width:100%" rows="8" width="25" wrap="hard" name="HWVAL_comment_'.$link.'"></textarea>'.
 		    '</td>'.
 		    '<td>'.
-		    '<label><input type="radio" name="HWVAL_'.$link.'" value="ungraded" />Ungraded</label><br />'.
+		    '<nobr><label><input type="radio" name="HWVAL_'.$link.'" value="ungraded" />Ungraded</label></nobr><br />'.
 		    '<label><input type="radio" name="HWVAL_'.$link.'" value="pass" />Pass</label><br />'.
 		    '<label><input type="radio" name="HWVAL_'.$link.'" value="fail" />Fail</label><br />'.
 		    '<label><input type="radio" name="HWVAL_'.$link.'" value="review" />Review</label><br />'.
@@ -522,6 +528,15 @@
 		    '</td></tr>';
 		$last_link=$link;
 	    }
+	} elsif ($target eq 'grade') {
+	    my $optional_passed=0;
+	    foreach my $id (@{$dimension{$instance.'.criterias'}}) {
+		if ($env{'form.HWVAL_criteria_'.$instance.'_'.$id} eq 'pass') {
+		} elsif ($env{'form.HWVAL_criteria_'.$instance.'_'.$id} eq 'fail') {
+		} elsif ($env{'form.HWVAL_criteria_'.$instance.'_'.$id} eq 'ungraded') {
+		} elsif ($env{'form.HWVAL_criteria_'.$instance.'_'.$id} eq 'review') {
+		}
+	    }
 	}
 	return $result;
     }
@@ -551,9 +566,12 @@
 
 sub start_Instance {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
-    push(@{$dimension{'instances'}},$Apache::lonxml::curdepth);
-    push(@Apache::bridgetask::instance,$Apache::lonxml::curdepth);
-    push(@Apache::bridgetask::instancelist,$Apache::lonxml::curdepth);
+    my $id=&get_id($parstack,$safeeval);
+    push(@{$dimension{'instances'}},$id);
+    push(@Apache::bridgetask::instance,$id);
+    push(@Apache::bridgetask::instancelist,$id);
+    $dimension{$instance_id.'.optionalrequired'}=
+	&Apache::lonxml::get_param('OptionalRequired',$parstack,$safeeval);
     return '';
 }
 
@@ -592,8 +610,10 @@
     my $instance_id=$Apache::bridgetask::instance[-1];
     if ($target eq 'web' || $target eq 'webgrade') {
 	my $criteria=&Apache::lonxml::endredirection();
-	my $id=$Apache::lonxml::curdepth;
+	my $id=&get_id($parstack,$safeeval);
 	$dimension{$instance_id.'.criteria.'.$id}=$criteria;
+	$dimension{$instance_id.'.criteria.'.$id.'.mandatory'}=
+	    &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval);
 	push(@{$dimension{$instance_id.'.criterias'}},$id);
     }
     return '';