Diff for /loncom/homework/bridgetask.pm between versions 1.186 and 1.193

version 1.186, 2006/10/31 21:16:30 version 1.193, 2006/11/06 17:53:06
Line 326  sub style { Line 326  sub style {
     my ($target) = @_;      my ($target) = @_;
     if ($target eq 'web'      if ($target eq 'web'
  || $target eq 'webgrade') {   || $target eq 'webgrade') {
  return (<<STYLE);   my $style = (<<STYLE);
 <link rel="stylesheet" type="text/css" href="/res/adm/includes/task.css" />  <link rel="stylesheet" type="text/css" href="/res/adm/includes/task.css" />
 STYLE  STYLE
           if ($env{'browser.type'} eq 'explorer'
       && $env{'browser.os'} eq 'win' ) {
       if ($env{'browser.version'} < 7) {
    $style .= (<<STYLE);
   <link rel="stylesheet" type="text/css" href="/res/adm/includes/task_ie.css" />
   STYLE
               } else {
    $style .= (<<STYLE);
   <link rel="stylesheet" type="text/css" href="/res/adm/includes/task_ie7.css" />
   STYLE
       }
    }
    return $style;
     }      }
     return;      return;
 }  }
Line 1142  DONEBUTTON Line 1155  DONEBUTTON
  $env{'user.name'}.':'.$env{'user.domain'};   $env{'user.name'}.':'.$env{'user.domain'};
     if ($review) {      if ($review) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='review';   $Apache::lonhomework::results{"resource.$version.0.status"}='review';
  if ($env{'form.queue'} eq 'reviewqueue') {  
     &check_queue_unlock($env{'form.queue'});  
     &Apache::lonxml::debug(" still needs review not changing status.");  
  } else {  
     if ($env{'form.queue'} ne 'none') {  
  &move_between_queues($env{'form.queue'},'reviewqueue');  
     } else {  
  &add_to_queue('reviewqueue',\%queue_data);  
     }  
  }  
     } elsif ($ungraded) {      } elsif ($ungraded) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='ungraded';   $Apache::lonhomework::results{"resource.$version.0.status"}='ungraded';
  if ($env{'form.queue'} eq 'reviewqueue') {  
     &Apache::lonxml::debug("moving back.");  
     &move_between_queues($env{'form.queue'},  
  'gradingqueue');  
  } elsif ($env{'form.queue'} eq 'none' ) {  
     &add_to_queue('gradingqueue',\%queue_data);  
  } else {  
     &check_queue_unlock($env{'form.queue'});  
  }  
     } elsif ($mandatory_failed) {      } elsif ($mandatory_failed) {
  $Apache::lonhomework::results{"resource.$version.0.status"}='fail';   $Apache::lonhomework::results{"resource.$version.0.status"}='fail';
  $Apache::lonhomework::results{"resource.$version.0.solved"}='incorrect_by_override';   $Apache::lonhomework::results{"resource.$version.0.solved"}='incorrect_by_override';
  $Apache::lonhomework::results{"resource.$version.0.award"}='INCORRECT';   $Apache::lonhomework::results{"resource.$version.0.award"}='INCORRECT';
  $Apache::lonhomework::results{"resource.$version.0.awarded"}='0';   $Apache::lonhomework::results{"resource.$version.0.awarded"}='0';
  &remove_from_queue($env{'form.queue'});   
   
  my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();   my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();
   
  if ($env{'form.regrade'} ne 'yes') {   if ($env{'form.regrade'} ne 'yes') {
Line 1186  DONEBUTTON Line 1178  DONEBUTTON
  $Apache::lonhomework::results{"resource.$version.0.solved"}='correct_by_override';   $Apache::lonhomework::results{"resource.$version.0.solved"}='correct_by_override';
  $Apache::lonhomework::results{"resource.$version.0.award"}='EXACT_ANS';   $Apache::lonhomework::results{"resource.$version.0.award"}='EXACT_ANS';
  $Apache::lonhomework::results{"resource.$version.0.awarded"}='1';   $Apache::lonhomework::results{"resource.$version.0.awarded"}='1';
  &remove_from_queue($env{'form.queue'});  
   
  my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();   my ($symb,$courseid,$udom,$uname)=&Apache::lonnet::whichuser();
  if ($env{'form.regrade'} ne 'yes') {   if ($env{'form.regrade'} ne 'yes') {
     $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=      $Apache::lonhomework::results{"resource.$version.0.bridgetask.portfiles"}=
Line 1211  DONEBUTTON Line 1201  DONEBUTTON
     }      }
     &minimize_storage();      &minimize_storage();
     &Apache::structuretags::finalize_storage();      &Apache::structuretags::finalize_storage();
       
       # data stored, now handle queue
       if ($review) {
    if ($env{'form.queue'} eq 'reviewqueue') {
       &check_queue_unlock($env{'form.queue'});
       &Apache::lonxml::debug(" still needs review not changing status.");
    } else {
       if ($env{'form.queue'} ne 'none') {
    &move_between_queues($env{'form.queue'},'reviewqueue');
       } else {
    &add_to_queue('reviewqueue',\%queue_data);
       }
    }
       } elsif ($ungraded) {
    if ($env{'form.queue'} eq 'reviewqueue') {
       &Apache::lonxml::debug("moving back.");
       &move_between_queues($env{'form.queue'},
    'gradingqueue');
    } elsif ($env{'form.queue'} eq 'none' ) {
       &add_to_queue('gradingqueue',\%queue_data);
    } else {
       &check_queue_unlock($env{'form.queue'});
    }
       } elsif ($mandatory_failed) {
    &remove_from_queue($env{'form.queue'}); 
       } else {
    &remove_from_queue($env{'form.queue'});
       }
  }   }
  if (exists($Apache::lonhomework::results{'INTERNAL_store'})) {   if (exists($Apache::lonhomework::results{'INTERNAL_store'})) {
     # instance generation occured and hasn't yet been stored      # instance generation occured and hasn't yet been stored
Line 1563  sub get_queue_counts { Line 1581  sub get_queue_counts {
     foreach my $key (sort(keys(%queue))) {      foreach my $key (sort(keys(%queue))) {
  my ($symb,$uname,$udom) = &decode_queue_key($key);   my ($symb,$uname,$udom) = &decode_queue_key($key);
  if (!defined($classlist->{$uname.':'.$udom})) { next; }   if (!defined($classlist->{$uname.':'.$udom})) { next; }
   
  if ($key=~/locked$/) {   if ($key=~/locked$/) {
     $locks++;      $locks++;
  } elsif ($key=~/timestamp$/) {   } elsif ($key=~/timestamp$/) {
Line 2160  sub get_criteria { Line 2177  sub get_criteria {
  } else {   } else {
     my $dim_status=$Apache::lonhomework::history{"resource.$version.0.$dim.status"};      my $dim_status=$Apache::lonhomework::history{"resource.$version.0.$dim.status"};
     my $mandatory='Mandatory';      my $mandatory='Mandatory';
     if ($Apache::bridgetask::dimensionmandatory{$dim} eq 'N') {      if (&Apache::lonxml::get_param('Mandatory',$parstack,$safeeval) eq 'N') {
  $mandatory='Optional';   $mandatory='Optional';
     }      }
     my $dim_info="<div class='LC_$dim_status LC_question_grade'>\n";      my $dim_info="<div class='LC_$dim_status LC_question_grade'>\n";
Line 2207  sub get_criteria { Line 2224  sub get_criteria {
     $result.=$dimension{$id}{'result'};      $result.=$dimension{$id}{'result'};
     next;      next;
  }   }
  my $status= &get_criteria('status', $version,$dim,$id);  
  my $comment=&get_criteria('comment',$version,$dim,$id);  
  my $mandatory=($dimension{$dim}{'criteria.'.$id.'.mandatory'} ne 'N');  
  if ($mandatory) {  
     $mandatory='Mandatory';  
  } else {  
     $mandatory='Optional';  
  }  
  if ($status eq 'fail') {  
  } elsif ($status eq 'pass') {  
  } else {  
     &Apache::lonxml::error("Student viewing a graded bridgetask was shown a status of $status");  
  }  
  my $status_display=$status;  
  $status_display=~s/^([a-z])/uc($1)/e;  
  $result.=  
     '<div class="LC_'.$status.' LC_criteria"><h4>'  
     .$mandatory.' Criteria</h4><p>';  
  $result.=  
     &nested_parse(\$dimension{$dim}{'criteria.'.$id},  
   [@_],{'set_dim_id' => $id});  
  $result.='</p><p class="LC_grade">'.$status_display.'</p>';  
  if ($comment) {  
     $result.='<p class="LC_comment">'.  
  &mt('Comment: [_1]',$comment).'</p>';  
  }  
  $result.='</div>';  
     }      }
  }   }
     }      }
Line 2491  sub end_InstanceText { Line 2481  sub end_InstanceText {
 sub start_Criteria {  sub start_Criteria {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $criteria=&Apache::lonxml::get_all_text('/criteria',$parser,$style);      my $criteria=&Apache::lonxml::get_all_text('/criteria',$parser,$style);
       my $result = '';
     if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade') {      if ($target eq 'web' || $target eq 'webgrade' || $target eq 'grade') {
  my $dim = &get_dim_id();   my $dim = &get_dim_id();
  my $id=&get_id($parstack,$safeeval);   my $id=&get_id($parstack,$safeeval);
Line 2508  sub start_Criteria { Line 2499  sub start_Criteria {
     $dimension{$dim}{'criteria.'.$id.'.mandatory'}=      $dimension{$dim}{'criteria.'.$id.'.mandatory'}=
  &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval);   &Apache::lonxml::get_param('Mandatory',$parstack,$safeeval);
     push(@{$dimension{$dim}{'criterias'}},$id);      push(@{$dimension{$dim}{'criterias'}},$id);
   
       my $version=&get_version();
       my $task_status = 
    $Apache::lonhomework::history{"resource.$version.0.status"};
       if ($target eq 'web' 
    && ($task_status eq 'pass' || $task_status eq 'fail')) {
    my $status= &get_criteria('status', $version,$dim,$id);
    my $comment=&get_criteria('comment',$version,$dim,$id);
    my $mandatory=($dimension{$dim}{'criteria.'.$id.'.mandatory'} ne 'N');
    if ($mandatory) {
       $mandatory='Mandatory';
    } else {
       $mandatory='Optional';
    }
    my $status_display=$status;
    $status_display=~s/^([a-z])/uc($1)/e;
    $result.=
       '<div class="LC_'.$status.' LC_criteria"><h4>'
       .$mandatory.' Criteria</h4><p>';
    $result.=
       &nested_parse(\$dimension{$dim}{'criteria.'.$id},[@_]);
    $result.='</p><p class="LC_grade">'.$status_display.'</p>';
    if ($comment =~ /\w/) {
       $result.='<p class="LC_comment">'.
    &mt('Comment: [_1]',$comment).'</p>';
    }
    $result.='</div>';
       }
  }   }
     }      }
     return '';      return $result;
 }  }
   
 sub end_Criteria {  sub end_Criteria {
Line 2520  sub start_GraderNote { Line 2539  sub start_GraderNote {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
           
     if ($target eq 'webgrade') {      if ($target eq 'webgrade') {
  return '<div class="LC_GRADING_gradernote">';   return '<div class="LC_GRADING_gradernote"><b>'.
       &mt('Note to graders:').'</b>';
     }      }
     my $note=&Apache::lonxml::get_all_text('/gradernote',$parser,$style);       my $note=&Apache::lonxml::get_all_text('/gradernote',$parser,$style); 
     return;      return;

Removed from v.1.186  
changed lines
  Added in v.1.193


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