--- loncom/homework/bridgetask.pm 2006/03/29 20:33:50 1.128.2.2 +++ loncom/homework/bridgetask.pm 2006/06/19 09:43:38 1.128.2.11 @@ -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.2.2 2006/03/29 20:33:50 albertel Exp $ +# $Id: bridgetask.pm,v 1.128.2.11 2006/06/19 09:43:38 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=< + $file_list INFO @@ -453,12 +456,33 @@ sub start_Task { my (undef,undef,$domain,$user)= &Apache::lonxml::whichuser(); my $files = ''; + my $subject = "Submission message for $title"; + my ($message_status,$comment_status); + my $setting = $env{'course.'.$env{'request.course.id'}.'.task_messages'}; + $setting =~ s/^\s*(\S*)\s*$/$1/; + $setting = lc($setting); + if ($setting eq 'only_student' + || $setting eq 'student_and_user_notes_screen') { + $message_status = + &Apache::lonmsg::user_normal_msg($user,$domain,$subject,$msg); + $message_status = '

'.&mt('Message sent to user: [_1]', + $message_status).'

'; + } + if ($setting eq 'student_and_user_notes_screen') { + $comment_status = + &Apache::lonmsg::store_instructor_comment($subject.'
'. + $msg,$user,$domain); + $comment_status = '

'.&mt('Message sent to instructor: [_1]', + $comment_status).'

'; + } $result.=<$title @@ -467,6 +491,8 @@ sub start_Task {

Logout

Change to a different course

+$message_status +$comment_status DONESCREEN } elsif ($status ne 'NOT_YET_VIEWED') { $msg.='

'.&mt('Not open to be viewed').'

'; @@ -1315,9 +1341,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; } @@ -1760,9 +1792,7 @@ sub get_instance { my $link=&link($instance,$id); my $status=$Apache::lonhomework::history{"resource.$version.0.$dim.$instance.$id.status"}; $result.='
'."\n". - ''."\n". - ''."\n". - '
'."\n"; + '
'."\n"; @Apache::scripttag::parser_env = @_; $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.criteria.'.$id}); $result.='
'."\n". @@ -1789,7 +1819,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}; @@ -1866,15 +1902,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 inside of <".$tagstack->[-2].">"); - &Apache::lonxml::get_all_text('/introparagraph',$parser,$style); } } @@ -1910,7 +1943,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 '';