Diff for /loncom/homework/bridgetask.pm between versions 1.151 and 1.155

version 1.151, 2006/05/16 06:43:42 version 1.155, 2006/05/25 19:39:13
Line 95  sub create_new_version { Line 95  sub create_new_version {
  my $version=   my $version=
     $Apache::lonhomework::history{'resource.0.version'};      $Apache::lonhomework::history{'resource.0.version'};
  $version++;   $version++;
    &Apache::lonxml::debug("Making version $version");
  #clean out all current results   #clean out all current results
  foreach my $key (keys(%Apache::lonhomework::history)) {   foreach my $key (keys(%Apache::lonhomework::history)) {
     if ($key=~/^resource\.0\./) {      if ($key=~/^resource\.0\./) {
Line 108  sub create_new_version { Line 108  sub create_new_version {
  if (defined($user) && defined($domain)) {   if (defined($user) && defined($domain)) {
     $Apache::lonhomework::results{"resource.$version.0.checkedin"}=      $Apache::lonhomework::results{"resource.$version.0.checkedin"}=
  $user.':'.$domain;   $user.':'.$domain;
    } else {
       $Apache::lonhomework::results{"resource.$version.0.checkedin"}=
    $env{'user.name'}.':'.$env{'user.domain'};
  }   }
  if (defined($slot_name)) {   if (defined($slot_name)) {
     $Apache::lonhomework::results{"resource.$version.0.checkedin.slot"}=      $Apache::lonhomework::results{"resource.$version.0.checkedin.slot"}=
Line 454  sub start_Task { Line 457  sub start_Task {
  my ($version,$previous)=&get_version();   my ($version,$previous)=&get_version();
  ($status,$accessmsg,my $slot_name,$slot) =    ($status,$accessmsg,my $slot_name,$slot) = 
     &Apache::lonhomework::check_slot_access('0','Task');      &Apache::lonhomework::check_slot_access('0','Task');
  if ($status eq 'CAN_ANSWER' && $version eq '' && $slot_name eq '') {   if ($status eq 'CAN_ANSWER' && $version eq '') {
     &create_new_version('Task');      &create_new_version('Task',undef,undef,$slot_name);
       &add_to_queue('gradingqueue',{'type' => 'Task',
     'time' => time,
     'slot' => $slot_name});
     ($version,$previous)=&get_version();      ($version,$previous)=&get_version();
  }   }
   
Line 528  DONESCREEN Line 534  DONESCREEN
        && defined($Apache::inputtags::slot_name)) {         && defined($Apache::inputtags::slot_name)) {
  my $result=   my $result=
     &add_to_queue('gradingqueue',      &add_to_queue('gradingqueue',
   {'type' => 'task',    {'type' => 'Task',
    'time' => time,     'time' => time,
    'slot' =>      'slot' => 
        $Apache::inputtags::slot_name});         $Apache::inputtags::slot_name});
Line 916  DONEBUTTON Line 922  DONEBUTTON
  my $useslots = &Apache::lonnet::EXT("resource.0.useslots");   my $useslots = &Apache::lonnet::EXT("resource.0.useslots");
  if ($useslots =~ /^\s*no\s*$/i) {   if ($useslots =~ /^\s*no\s*$/i) {
     &add_to_queue('gradingqueue',      &add_to_queue('gradingqueue',
   {'type' => 'task',    {'type' => 'Task',
    'time' => time});     'time' => time});
  } elsif (defined($Apache::inputtags::slot_name)) {   } elsif (defined($Apache::inputtags::slot_name)) {
     &add_to_queue('gradingqueue',      &add_to_queue('gradingqueue',
   {'type' => 'task',    {'type' => 'Task',
    'time' => time,     'time' => time,
    'slot' => $Apache::inputtags::slot_name});     'slot' => $Apache::inputtags::slot_name});
  }   }
Line 1388  sub pick_from_queue_data { Line 1394  sub pick_from_queue_data {
  }   }
  my $end_time;   my $end_time;
  if (my $slot=&slotted_access($queuedata->{$key})) {   if (my $slot=&slotted_access($queuedata->{$key})) {
       &Apache::lonxml::debug("looking at slot $slot");
     my %slot_data=&Apache::lonnet::get_slot($slot);      my %slot_data=&Apache::lonnet::get_slot($slot);
     if ($slot_data{'endtime'} < time) {       if ($slot_data{'endtime'} < time) { 
  $end_time = $slot_data{'endtime'};   $end_time = $slot_data{'endtime'};
       } else {
    &Apache::lonxml::debug("not time ".$slot_data{'endtime'});
    next;
     }      }
  } else {   } else {
     my $due_date = &Apache::lonhomework::due_date('0',$symb);      my $due_date = &Apache::lonhomework::due_date('0',$symb);
     if ($due_date > time) {      if ($due_date < time) {
  $end_time = $due_date;   $end_time = $due_date;
       } else {
    &Apache::lonxml::debug("not time $due_date");
    next;
     }      }
  }   }
  if ($end_time ne '') {  
     &Apache::lonxml::debug("not time");  
     next;  
  }  
   
  if (exists($queuedata->{"$key\0locked"})) {   if (exists($queuedata->{"$key\0locked"})) {
     &Apache::lonxml::debug("someone already has um.");      &Apache::lonxml::debug("someone already has um.");
Line 1603  sub select_user { Line 1612  sub select_user {
  $seclist.='<input type="hidden" name="chosensections"    $seclist.='<input type="hidden" name="chosensections" 
                                value="'.$sec.'" />';                                 value="'.$sec.'" />';
     }      }
     my $studentdis = $student;  
     $studentdis =~ tr/:/@/;  
     $result.=<<RESULT;      $result.=<<RESULT;
 <tr>  <tr>
   <td>    <td>
Line 1616  sub select_user { Line 1623  sub select_user {
       <input type="submit" name="submit" value="Regrade" />        <input type="submit" name="submit" value="Regrade" />
       $seclist        $seclist
     </form>      </form>
   <td>$fullname->{$student} <tt>($studentdis)</tt></td>    <td>$classlist->{$student}[&Apache::loncoursedata::CL_FULLNAME()] <tt>($student)</tt></td>
   <td>    <td>
 RESULT  RESULT
         }          }
Line 1777  sub get_instance { Line 1784  sub get_instance {
  my $dim=&get_id($parstack,$safeeval);   my $dim=&get_id($parstack,$safeeval);
  my $instance=&get_instance($dim);   my $instance=&get_instance($dim);
  my $version=&get_version();   my $version=&get_version();
     use Data::Dumper;  
     &Apache::lonxml::debug(Dumper(\%dimension));  
  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'});
Line 1905  sub get_instance { Line 1910  sub get_instance {
     my $mandatory_failed=0;      my $mandatory_failed=0;
     my $ungraded=0;      my $ungraded=0;
     my $review=0;      my $review=0;
   
       @Apache::scripttag::parser_env = @_;
       $result.=&Apache::scripttag::xmlparse($dimension{'intro'});
     foreach my $id (@{$dimension{$instance.'.criterias'}},      foreach my $id (@{$dimension{$instance.'.criterias'}},
     @{$dimension{'criterias'}}) {      @{$dimension{'criterias'}}) {
  my $link=&link($id);   my $link=&link($id);
    @Apache::scripttag::parser_env = @_;
    $result.=&Apache::scripttag::xmlparse($dimension{$instance.'.text'});
  my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$id.status"}=$env{'form.HWVAL_'.$link};   my $status=$Apache::lonhomework::results{"resource.$version.0.$dim.$id.status"}=$env{'form.HWVAL_'.$link};
  $Apache::lonhomework::results{"resource.$version.0.$dim.$id.comment"}=$env{'form.HWVAL_comment_'.$link};   $Apache::lonhomework::results{"resource.$version.0.$dim.$id.comment"}=$env{'form.HWVAL_comment_'.$link};
  my $mandatory=($dimension{'criteria.'.$id.'.mandatory'} ne 'N');   my $mandatory=($dimension{'criteria.'.$id.'.mandatory'} ne 'N');
Line 1991  sub grading_history { Line 2001  sub grading_history {
 sub start_IntroParagraph {  sub start_IntroParagraph {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;      my $result;
     if ($target eq 'web' || $target eq 'webgrade') {      if ($target eq 'grade' || $target eq 'web' || $target eq 'webgrade') {
  if ($tagstack->[-2] eq 'Dimension' || $tagstack->[-2] eq 'Question' ) {   if ($tagstack->[-2] eq 'Dimension' || $tagstack->[-2] eq 'Question' ) {
     $dimension{'intro'}=      $dimension{'intro'}=
  &Apache::lonxml::get_all_text('/introparagraph',   &Apache::lonxml::get_all_text('/introparagraph',
Line 2033  sub start_InstanceText { Line 2043  sub start_InstanceText {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $instance_id=$Apache::bridgetask::instance[-1];      my $instance_id=$Apache::bridgetask::instance[-1];
     my $text=&Apache::lonxml::get_all_text('/instancetext',$parser,$style);      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;   $dimension{$instance_id.'.text'}=$text;
     }      }
     return '';      return '';

Removed from v.1.151  
changed lines
  Added in v.1.155


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