Diff for /loncom/homework/bridgetask.pm between versions 1.75 and 1.76

version 1.75, 2005/11/03 22:59:35 version 1.76, 2005/11/04 15:31:53
Line 1473  sub get_instance { Line 1473  sub get_instance {
  if ($target eq 'web') {   if ($target eq 'web') {
     @Apache::scripttag::parser_env = @_;      @Apache::scripttag::parser_env = @_;
     $result.=&Apache::scripttag::xmlparse($dimension{'intro'});      $result.=&Apache::scripttag::xmlparse($dimension{'intro'});
     @Apache::scripttag::parser_env = @_;      my @instances = $instance;
     $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});      if (&Apache::response::showallfoils()) {
     if ($Apache::lonhomework::history{"resource.$version.status"} eq 'pass' ||   @instances = @{$dimension{'instances'}};
  $Apache::lonhomework::history{"resource.$version.status"} eq 'fail') {      }
       foreach my $instance (@instances) {
    @Apache::scripttag::parser_env = @_;
    $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
    if ($Apache::lonhomework::history{"resource.$version.status"} eq 'pass' ||
       $Apache::lonhomework::history{"resource.$version.status"} eq 'fail') {
   
  my $dim_status=$Apache::lonhomework::history{"resource.$version.$dim.status"};      my $dim_status=$Apache::lonhomework::history{"resource.$version.$dim.status"};
  my $mandatory='Mandatory';      my $mandatory='Mandatory';
  if ($Apache::bridgetask::dimensionmandatory{$dim} eq 'N') {      if ($Apache::bridgetask::dimensionmandatory{$dim} eq 'N') {
     $mandatory='Optional';   $mandatory='Optional';
  }      }
  my $dim_info="<div class='$dim_status'>\n";      my $dim_info="<div class='$dim_status'>\n";
  if ($dim_status eq 'pass') {      if ($dim_status eq 'pass') {
     $dim_info.='<h3>Question : you passed this '.$mandatory.' question</h3>';   $dim_info.='<h3>Question : you passed this '.$mandatory.' question</h3>';
  }      }
  if ($dim_status eq 'fail') {      if ($dim_status eq 'fail') {
     $dim_info.='<h3>Question : you did not pass this '.$mandatory.' question</h3>';   $dim_info.='<h3>Question : you did not pass this '.$mandatory.' question</h3>';
  }      }
  my $man_count=0;      my $man_count=0;
  my $man_passed=0;      my $man_passed=0;
  my $opt_count=0;      my $opt_count=0;
  my $opt_passed=0;      my $opt_passed=0;
  foreach my $id (@{$dimension{$instance.'.criterias'}}) {      foreach my $id (@{$dimension{$instance.'.criterias'}}) {
     if ($dimension{$instance.'.criteria.'.$id.'.mandatory'}    if ($dimension{$instance.'.criteria.'.$id.'.mandatory'} 
  eq 'N') {      eq 'N') {
  $opt_count++;      $opt_count++;
  if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"} eq 'pass') {      if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"} eq 'pass') {
     $opt_passed++;   $opt_passed++;
  }      }
     } else {   } else {
  $man_count++;      $man_count++;
  if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"} eq 'pass') {      if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"} eq 'pass') {
     $man_passed++;   $man_passed++;
       }
  }   }
     }      }
  }      if ($man_passed eq $man_count) { $man_passed='all'; }
  if ($man_passed eq $man_count) { $man_passed='all'; }      my $opt_req=$dimension{$instance.'.optionalrequired'};
  my $opt_req=$dimension{$instance.'.optionalrequired'};      if ($opt_req !~ /\S/) { $opt_req='0'; }
  if ($opt_req !~ /\S/) { $opt_req='0'; }      $dim_info.="\n<p>".&mt('You passed [_1] of the [_2] mandatory components and [_3] of the [_4] optional components, of which you were required to pass [_5].',$man_passed,$man_count,$opt_passed,$opt_count,$opt_req)."</p>\n</div>";
  $dim_info.="\n<p>".&mt('You passed [_1] of the [_2] mandatory components and [_3] of the [_4] optional components, of which you were required to pass [_5].',$man_passed,$man_count,$opt_passed,$opt_count,$opt_req)."</p>\n</div>";  
   
  my $internal_location=&internal_location($dim);      my $internal_location=&internal_location($dim);
  $result=~s/\Q$internal_location\E/$dim_info/;      $result=~s/\Q$internal_location\E/$dim_info/;
   
  foreach my $id (@{$dimension{$instance.'.criterias'}}) {      foreach my $id (@{$dimension{$instance.'.criterias'}}) {
     my $status=$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"};   my $status=$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.status"};
     my $comment=$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"};   my $comment=$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"};
     my $mandatory=($dimension{$instance.'.criteria.'.$id.'.mandatory'} ne 'N');   my $mandatory=($dimension{$instance.'.criteria.'.$id.'.mandatory'} ne 'N');
     if ($mandatory) {   if ($mandatory) {
  $mandatory='Mandatory';      $mandatory='Mandatory';
     } else {   } else {
  $mandatory='Optional';      $mandatory='Optional';
     }   }
     if ($status eq 'fail') {   if ($status eq 'fail') {
     } elsif ($status eq 'pass') {   } elsif ($status eq 'pass') {
     } else {   } else {
  &Apache::lonxml::error("Student viewing a graded bridgetask was shown a status of $status");      &Apache::lonxml::error("Student viewing a graded bridgetask was shown a status of $status");
     }   }
     my $status_display=$status;   my $status_display=$status;
     $status_display=~s/^([a-z])/uc($1)/e;   $status_display=~s/^([a-z])/uc($1)/e;
     @Apache::scripttag::parser_env = @_;   @Apache::scripttag::parser_env = @_;
     $result.='<div class="'.$status.'"><h4>'.$mandatory.   $result.='<div class="'.$status.'"><h4>'.$mandatory.
  ' Criteria</h4><p>';      ' Criteria</h4><p>';
     @Apache::scripttag::parser_env = @_;   @Apache::scripttag::parser_env = @_;
     $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.criteria.'.$id});   $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.criteria.'.$id});
     $result.='</p><p class="grade">'.$status_display.'</p>';   $result.='</p><p class="grade">'.$status_display.'</p>';
     if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"}) {   if ($Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"}) {
  $result.='<p class="comment">'.$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"}.'</p>';      $result.='<p class="comment">'.$Apache::lonhomework::history{"resource.$version.$dim.$instance.$id.comment"}.'</p>';
    }
    $result.='</div>';
     }      }
     $result.='</div>';  
  }   }
     }      }
  } elsif ($target eq 'webgrade') {   } elsif ($target eq 'webgrade') {

Removed from v.1.75  
changed lines
  Added in v.1.76


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>