--- loncom/homework/bridgetask.pm 2005/05/06 20:26:35 1.18 +++ loncom/homework/bridgetask.pm 2005/05/09 21:55:01 1.19 @@ -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 @@ sub end_ClosingParagraph { 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 get_instance { 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.=''. + $result.=''. ''. ''. '
'. #$dimension{$instance.'.criteria.'.$id}. ''. - 'Additional Comment for Student
'. + 'Additional Comment for Student
'. ''. ''. ''. - '
'. + '
'. '
'. '
'. '
'. @@ -522,6 +528,15 @@ sub get_instance { ''; $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 end_IntroParagraph { 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 @@ sub end_Criteria { 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 '';