--- loncom/homework/bridgetask.pm	2006/03/29 13:24:43	1.128
+++ loncom/homework/bridgetask.pm	2006/06/05 17:15:37	1.128.2.10
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # definition of tags that give a structure to a document
 #
-# $Id: bridgetask.pm,v 1.128 2006/03/29 13:24:43 albertel Exp $
+# $Id: bridgetask.pm,v 1.128.2.10 2006/06/05 17:15:37 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -349,12 +349,15 @@ sub webgrade_standard_info {
 
     my %lt=&Apache::lonlocal::texthash('done' => 'Next Item',
 				       'stop' => 'Quit Grading',
+				       'fail' => 'Fail Rest',
 				       );
 				       
     my $result=<<INFO;
   <div class="LC_GRADING_maincontrols">
     <input type="submit" name="next" value="$lt{'done'}" />
     <input type="submit" name="stop" value="$lt{'stop'}" />
+    <input type="button" name="fail" value="$lt{'fail'}" 
+           onclick="javascript:onFailRest()" />
   </div>
   $file_list
 INFO
@@ -455,11 +458,7 @@ sub start_Task {
 		    my $files = '<ul>';
 		    foreach my $file (@files) {
 			my $url="/uploaded/$domain/$user/portfolio$file";
-			if (! &Apache::lonnet::stat_file($url)) {
-			    $file = &mt('<font color="red"> Nonexistant file:</font> <tt>[_1]</tt>',$file);
-			} else {
-			    $file = '<tt>'.$file.'</tt>';
-			}
+			$file = '<tt>'.$file.'</tt>';
 			$files .= '<li>'.$file.'</li>';
 		    }
 		    $files.='</ul>';
@@ -974,7 +973,7 @@ DONEBUTTON
 	    &Apache::structuretags::finalize_storage();
 	}
     } elsif ($target eq 'webgrade') {
-	$result.="</div>\n<hr />";
+	$result.="</div>";
 	#$result.='<input type="submit" name="next" value="'.
 	#    &mt('Save &amp; Next').'" /> ';
 	#$result.='<input type="submit" name="end" value="'.
@@ -1319,9 +1318,15 @@ sub pick_from_queue_data {
     if (@possible) {
         # sort entries in order by slot end time
 	@possible = sort { $a->[1] <=> $b->[1] } @possible;
-	# pick one of the first ten entries
-	my $max=($#possible < 10) ? $#possible : 10;
-	return $possible[int(rand($max))][0];
+	# pick one of the entries in the top 10% in small queues and one
+	# of the first ten entries in large queues
+	#my $ten_percent = int($#possible * 0.1);
+	#if ($ten_percent < 1 ) { $ten_percent = 1;  }
+	#if ($ten_percent > 10) { $ten_percent = 10; }
+	#my $max=($#possible < $ten_percent) ? $#possible : $ten_percent;
+	
+	#return $possible[int(rand($max))][0];
+	return $possible[0][0];
     }
     return undef;
 }
@@ -1764,9 +1769,7 @@ sub get_instance {
 		my $link=&link($instance,$id);
 		my $status=$Apache::lonhomework::history{"resource.$version.0.$dim.$instance.$id.status"};
 		$result.='<div class="LC_GRADING_criteria" id="'.$link.'">'."\n".
-		    '<a name="'.$link.'" />'."\n".
-		    '<a name="next_'.$last_link.'" />'."\n".
-		    '<div class="LC_GRADING_criteriatext">'."\n";
+		    '<div class="LC_GRADING_criteriatext" id="next_'.$last_link.'">'."\n";
 		@Apache::scripttag::parser_env = @_;
 		$result.=&Apache::scripttag::xmlparse($dimension{$instance.'.criteria.'.$id});
 		$result.='</div>'."\n".
@@ -1793,7 +1796,13 @@ sub get_instance {
 	    my $mandatory_failed=0;
 	    my $ungraded=0;
 	    my $review=0;
+
+	    @Apache::scripttag::parser_env = @_;
+	    $result.=&Apache::scripttag::xmlparse($dimension{'intro'});
 	    foreach my $id (@{$dimension{$instance.'.criterias'}}) {
+		@Apache::scripttag::parser_env = @_;
+		$result.=&Apache::scripttag::xmlparse($dimension{$instance.'.tex
+t'});
 		my $link=&link($instance,$id);
 		my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$instance.$id.status"}=$env{'form.HWVAL_'.$link};
 		$Apache::lonhomework::results{"resource.$version.0.$dim.$instance.$id.comment"}=$env{'form.HWVAL_comment_'.$link};
@@ -1870,15 +1879,12 @@ sub grading_history {
 sub start_IntroParagraph {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;
-    if ($target eq 'web' || $target eq 'webgrade') {
+    if ($target eq 'web' || $target eq 'web' || $target eq 'webgrade') {
 	if ($tagstack->[-2] eq 'Dimension') {
 	    $dimension{'intro'}=&Apache::lonxml::get_all_text('/introparagraph',$parser,$style);
 	
 	} elsif ($tagstack->[-2] eq 'Task' && $target eq 'webgrade') {
 	    &Apache::lonxml::startredirection();
-	} else {
-	    &Apache:;lonxml::error("Invalid use of <IntroParagraph> inside of <".$tagstack->[-2].">");
-	    &Apache::lonxml::get_all_text('/introparagraph',$parser,$style);
 	}
 	
     }
@@ -1914,7 +1920,7 @@ sub start_InstanceText {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $instance_id=$Apache::bridgetask::instance[-1];
     my $text=&Apache::lonxml::get_all_text('/instancetext',$parser,$style);
-    if ($target eq 'web' || $target eq 'webgrade') {
+    if ($target eq 'grade' || $target eq 'web' || $target eq 'webgrade') {
 	$dimension{$instance_id.'.text'}=$text;
     }
     return '';