--- 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 '';