Diff for /loncom/homework/bridgetask.pm between versions 1.229 and 1.234

version 1.229, 2007/03/26 22:37:42 version 1.234, 2007/08/01 23:57:35
Line 38  use Apache::lonlocal; Line 38  use Apache::lonlocal;
 use Apache::lonxml;  use Apache::lonxml;
 use Apache::slotrequest();  use Apache::slotrequest();
 use Time::HiRes qw( gettimeofday tv_interval );  use Time::HiRes qw( gettimeofday tv_interval );
 use lib '/home/httpd/lib/perl/';  
 use LONCAPA;  use LONCAPA;
     
   
Line 488  sub webgrade_standard_info { Line 487  sub webgrade_standard_info {
     'stop'   => 'Quit Grading',      'stop'   => 'Quit Grading',
     'fail'   => 'Fail Rest',      'fail'   => 'Fail Rest',
     'cancel' => 'Cancel',      'cancel' => 'Cancel',
       'submit' => 'Submit Grades',
     );      );
     %lt=&Apache::lonlocal::texthash(%lt);      %lt=&Apache::lonlocal::texthash(%lt);
   
Line 495  sub webgrade_standard_info { Line 495  sub webgrade_standard_info {
   <div class="LC_GRADING_maincontrols">    <div class="LC_GRADING_maincontrols">
 INFO  INFO
   
     if (&grade_mode() eq 'regrade') {      if ($env{'request.state'} eq 'construct') {
  $result.=<<INFO;   $result.=<<INFO;
       <input type="submit" name="next" value="$lt{'submit'}" />
   INFO
       } else {
    if (&grade_mode() eq 'regrade' && $env{'request.state'} ne 'construct') {
       $result.=<<INFO;
     <input type="submit" name="cancel" value="$lt{'cancel'}" />      <input type="submit" name="cancel" value="$lt{'cancel'}" />
 INFO  INFO
     }          }
   
     $result.=<<INFO;   $result.=<<INFO;
     <input type="submit" name="next" value="$lt{'done'}" />      <input type="submit" name="next" value="$lt{'done'}" />
     <input type="submit" name="stop" value="$lt{'stop'}" />      <input type="submit" name="stop" value="$lt{'stop'}" />
   INFO
       }
       $result.=<<INFO;
     <input type="button" name="fail" value="$lt{'fail'}"       <input type="button" name="fail" value="$lt{'fail'}" 
            onclick="javascript:onFailRest()" />             onclick="javascript:onFailRest()" />
   </div>    </div>
   $file_list    $file_list
 INFO  INFO
     return $result;      return $result;
   
 }  }
   
 sub done_screen {  sub done_screen {
     my ($version) = @_;      my ($version) = @_;
     my $title=&Apache::lonnet::gettitle();      my $title=&Apache::lonnet::gettitle($env{'request.uri'});
     my @files=split(',',$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'});      my @files=split(',',$Apache::lonhomework::history{'resource.'.$version.'.0.bridgetask.portfiles'});
     my (undef,undef,$domain,$user)= &Apache::lonnet::whichuser();      my (undef,undef,$domain,$user)= &Apache::lonnet::whichuser();
     my $files = '<ul>';      my $files = '<ul>';
Line 620  sub start_Task { Line 629  sub start_Task {
     }      }
  }   }
     }      }
     if ($target eq 'web' && $env{'request.state'} eq 'construct') {      if ($target =~/(web|webgrade)/ && $env{'request.state'} eq 'construct') {
  $form_tag_start.=&Apache::structuretags::problem_web_to_edit_header($env{'form.rndseed'});   $form_tag_start.=&Apache::structuretags::problem_web_to_edit_header($env{'form.rndseed'});
     }      }
     if ($target eq 'web'       if ($target eq 'web' 
Line 724  sub start_Task { Line 733  sub start_Task {
  if ($todo) {   if ($todo) {
     &setup_env_for_other_user($todo,$safeeval);      &setup_env_for_other_user($todo,$safeeval);
     my ($symb,$uname,$udom)=&decode_queue_key($todo);      my ($symb,$uname,$udom)=&decode_queue_key($todo);
     $result.="\n".'<table><tr><td>Found '.      if ($env{'request.state'} eq 'construct') {
  &Apache::lonnet::gettitle($symb).' for '.$uname.' at '.$udom.'</td></tr></table>';   $symb = $env{'request.uri'};
       }
       $result.="\n".'<p>'.
    &mt('Grading [_1] for [_2] at [_3]',
       &Apache::lonnet::gettitle($symb),$uname,$udom).'</p>';
     $form_tag_start.=      $form_tag_start.=
  '<input type="hidden" name="gradingkey" value="'.   '<input type="hidden" name="gradingkey" value="'.
  &escape($todo).'" />';   &escape($todo).'" />';
Line 800  sub start_Task { Line 813  sub start_Task {
  }   }
     }      }
     if ($webgrade eq 'yes') { $result.=&webgrade_standard_info(); }      if ($webgrade eq 'yes') { $result.=&webgrade_standard_info(); }
    } elsif ($target eq 'webgrade' 
    && $env{'request.state'} eq 'construct') {
       $result.=$form_tag_start;
       $result.='<input type="hidden" name="webgrade" value="'.
    $webgrade.'" />';
       $result.=&webgrade_standard_info();
  }   }
  if ($target eq 'webgrade') {   if ($target eq 'webgrade') {
     $result.="\n".'<div id="LC_GRADING_criterialist">';      $result.="\n".'<div id="LC_GRADING_criterialist">';
Line 847  sub get_key_todo { Line 866  sub get_key_todo {
     my ($target)=@_;      my ($target)=@_;
     my $todo;      my $todo;
   
       if ($env{'request.state'} eq 'construct') {
    my ($symb,$cid,$udom,$uname) = &Apache::lonnet::whichuser();
    my $gradingkey=&encode_queue_key($symb,$udom,$uname);
    return ($gradingkey);
       }
   
     if (defined($env{'form.reviewasubmission'})) {      if (defined($env{'form.reviewasubmission'})) {
  &Apache::lonxml::debug("review a submission....");   &Apache::lonxml::debug("review a submission....");
  $env{'form.queue'}='reviewqueue';   $env{'form.queue'}='reviewqueue';
Line 1039  sub end_Task { Line 1064  sub end_Task {
  }   }
  if (!$previous && $status ne 'SHOW_ANSWER' &&   if (!$previous && $status ne 'SHOW_ANSWER' &&
     &show_task($status,$previous)) {      &show_task($status,$previous)) {
     $result.=&Apache::inputtags::gradestatus('0');      $result.=&Apache::inputtags::gradestatus('0',$target,1);
  }   }
   
  $result.='</form>';   $result.='</form>';
Line 1057  DONEBUTTON Line 1082  DONEBUTTON
  if (&show_task($status,$previous) &&   if (&show_task($status,$previous) &&
     $Apache::lonhomework::history{"resource.$version.0.status"} =~ /^(pass|fail)$/) {      $Apache::lonhomework::history{"resource.$version.0.status"} =~ /^(pass|fail)$/) {
     my $bt_status=$Apache::lonhomework::history{"resource.$version.0.status"};      my $bt_status=$Apache::lonhomework::history{"resource.$version.0.status"};
     my $title=&Apache::lonnet::gettitle();      my $title=&Apache::lonnet::gettitle($env{'request.uri'});
   
     my $start_time;      my $start_time;
   
     my $slot_name=      my $slot_name=
Line 1535  sub show_queue { Line 1559  sub show_queue {
  }   }
     }      }
   
       $result .= 
    '<p><a href="/adm/flip?postdata=return:">'.
    &mt('Return to resource').'</a></p><hr />'.
    "\n<h3>Current Queue - $queue</h3>";
     my $regexp="^$symb\0";      my $regexp="^$symb\0";
     my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);      my %queue=&Apache::lonnet::dump($queue,$cdom,$cnum,$regexp);
     my ($tmp)=%queue;      my ($tmp)=%queue;
     if ($tmp=~/^error: 2 /) {      if ($tmp=~/^error: 2 /) {
  return "\n<h3>Current Queue - $queue</h3>".   $result.=
       
     &Apache::loncommon::start_data_table().      &Apache::loncommon::start_data_table().
     &Apache::loncommon::start_data_table_row().      &Apache::loncommon::start_data_table_row().
     '<td>'.&mt('Empty').'</td>'.      '<td>'.&mt('Empty').'</td>'.
     &Apache::loncommon::end_data_table_row().      &Apache::loncommon::end_data_table_row().
     &Apache::loncommon::end_data_table();      &Apache::loncommon::end_data_table();
    return $result;
     }      }
     my $title=&Apache::lonnet::gettitle($symb);      my $title=&Apache::lonnet::gettitle($symb);
     $result.="\n<h3>Current Queue - $title $queue </h3>".      $result.=
  &Apache::loncommon::start_data_table().   &Apache::loncommon::start_data_table().
  &Apache::loncommon::start_data_table_header_row();   &Apache::loncommon::start_data_table_header_row();
     if ($with_selects) { $result.="<th>Status</th><th></th>"; }      if ($with_selects) { $result.="<th>Status</th><th></th>"; }
Line 2200  sub start_Dimension { Line 2230  sub start_Dimension {
  $result.=     $result.=  
     &Apache::edit::text_arg('Id:','id',$token,10).' '.      &Apache::edit::text_arg('Id:','id',$token,10).' '.
     &Apache::edit::select_arg('Passing is Mandatory:','Mandatory',      &Apache::edit::select_arg('Passing is Mandatory:','Mandatory',
       [['yes', 'Yes'],        [['Y', 'Yes'],
        ['no','No'],],         ['N','No'],],
       $token).' <br /> '.        $token).' <br /> '.
     &Apache::edit::text_arg('Required number of passed optional elements to pass the '.$token->[1].':',      &Apache::edit::text_arg('Required number of passed optional elements to pass the '.$token->[1].':',
     'OptionalRequired',$token,4).      'OptionalRequired',$token,4).
Line 2843  sub start_Criteria { Line 2873  sub start_Criteria {
  $result.=     $result.=  
     &Apache::edit::text_arg('Id:','id',$token,10).' '.      &Apache::edit::text_arg('Id:','id',$token,10).' '.
     &Apache::edit::select_arg('Passing is Mandatory:','Mandatory',      &Apache::edit::select_arg('Passing is Mandatory:','Mandatory',
       [['yes', 'Yes'],        [['Y', 'Yes'],
        ['no','No'],],         ['N','No'],],
       $token)        $token)
     .' <br /> '.&Apache::edit::end_row().      .' <br /> '.&Apache::edit::end_row().
     &Apache::edit::start_spanning_row();      &Apache::edit::start_spanning_row();
Line 3015  sub proctor_validation_screen { Line 3045  sub proctor_validation_screen {
     my ($slot) = @_;      my ($slot) = @_;
     my (undef,undef,$domain,$user) = &Apache::lonnet::whichuser();      my (undef,undef,$domain,$user) = &Apache::lonnet::whichuser();
     my $url=&Apache::lonnet::studentphoto($domain,$user,'jpg');      my $url=&Apache::lonnet::studentphoto($domain,$user,'jpg');
       if ($url ne '/adm/lonKaputt/lonlogo_broken.gif') {
    $url = "<tr><td colspan=\"2\"><img src=\"$url\" /></td></tr>";
       } else {
    undef($url);
       }
   
     my $name=&Apache::loncommon::plainname($user,$domain);      my $name=&Apache::loncommon::plainname($user,$domain);
           
     my $msg;      my $msg;
     if ($env{'form.proctorpassword'}) {      if ($env{'form.proctorpassword'}) {
  $msg='<p><font color="red">'.&mt("Failed to authenticate the proctor.")   $msg.='<p><span class="LC_warning">'
     .'</font></p>';      .&mt("Failed to authenticate the proctor.")
       .'</span></p>';
     }      }
   
       my $valid;
       my @possible_proctors=split(",",$slot->{'proctor'});
       foreach my $proctor (@possible_proctors) {
    if ($proctor =~ /$LONCAPA::username_re:$LONCAPA::domain_re/) {
       $valid = 1;
       last;
    }
       }
       if (!$valid) {
    $msg.='<p><span class="LC_error">'
       .&mt("No valid poctors are defined.")
       .'</span></p>';
       }
       
     if (!$env{'form.proctordomain'}) { $env{'form.proctordomain'}=$domain; }      if (!$env{'form.proctordomain'}) { $env{'form.proctordomain'}=$domain; }
     my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});      my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
     $uri = &HTML::Entities::encode($uri,'<>&"');      $uri = &HTML::Entities::encode($uri,'<>&"');
Line 3045  sub proctor_validation_screen { Line 3097  sub proctor_validation_screen {
       <tr><td>Name:</td><td>$name</td></tr>        <tr><td>Name:</td><td>$name</td></tr>
       <tr><td>Student ID:</td><td>$env{'environment.id'}</td></tr>        <tr><td>Student ID:</td><td>$env{'environment.id'}</td></tr>
       <tr><td>Usename</td><td>$user:$domain</td></tr>        <tr><td>Usename</td><td>$user:$domain</td></tr>
       <tr><td colspan="2"><img src="$url" /></td></tr>        $url
     </table>      </table>
   </tr></td>    </tr></td>
 </table>  </table>

Removed from v.1.229  
changed lines
  Added in v.1.234


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