--- loncom/homework/bridgetask.pm 2006/03/28 22:03:47 1.126 +++ loncom/homework/bridgetask.pm 2006/06/24 01:32:25 1.128.2.12 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.126 2006/03/28 22:03:47 albertel Exp $ +# $Id: bridgetask.pm,v 1.128.2.12 2006/06/24 01:32:25 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 @@ -365,8 +368,8 @@ sub start_Task { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; my ($status,$accessmsg,$slot); + &Apache::structuretags::init_problem_globals('Task'); if ($target ne 'webgrade') { - &Apache::structuretags::init_problem_globals('Task'); &Apache::structuretags::initialize_storage(); &Apache::lonhomework::showhash(%Apache::lonhomework::history); if ($env{'request.state'} eq 'construct') { @@ -453,16 +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 @@ -471,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').'

'; @@ -974,7 +996,7 @@ DONEBUTTON &Apache::structuretags::finalize_storage(); } } elsif ($target eq 'webgrade') { - $result.="\n
"; + $result.=""; #$result.=' '; #$result.=''."\n". - ''."\n". - ''."\n". - '
'."\n"; + '
'."\n"; @Apache::scripttag::parser_env = @_; $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.criteria.'.$id}); $result.='
'."\n". @@ -1793,7 +1820,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,12 +1903,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 ($target eq 'webgrade') { - &Apache::lonxml::get_all_text('/introparagraph',$parser,$style); + } elsif ($tagstack->[-2] eq 'Task' && $target eq 'webgrade') { + &Apache::lonxml::startredirection(); } } @@ -1883,6 +1916,10 @@ sub start_IntroParagraph { } sub end_IntroParagraph { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + if ($tagstack->[-2] eq 'Task' && $target eq 'webgrade') { + my $result = &Apache::lonxml::endredirection(); + } } sub start_Instance { @@ -1907,7 +1944,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 '';