Diff for /loncom/homework/bridgetask.pm between versions 1.254 and 1.257

version 1.254, 2010/09/27 20:59:41 version 1.257, 2010/12/31 02:40:14
Line 37  use Apache::lonmenu; Line 37  use Apache::lonmenu;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonxml;  use Apache::lonxml;
 use Apache::slotrequest();  use Apache::slotrequest();
   use Apache::structuretags();
 use Time::HiRes qw( gettimeofday tv_interval );  use Time::HiRes qw( gettimeofday tv_interval );
 use LONCAPA;  use LONCAPA;
     
Line 380  sub show_task { Line 381  sub show_task {
        ( $status eq 'BANNED') ||         ( $status eq 'BANNED') ||
        ( $status eq 'UNAVAILABLE') ||         ( $status eq 'UNAVAILABLE') ||
        ( $status eq 'NOT_IN_A_SLOT') ||         ( $status eq 'NOT_IN_A_SLOT') ||
                          ( $status eq 'NOT_YET_VIEWED') ||
        ( $status eq 'NEEDS_CHECKIN') ||         ( $status eq 'NEEDS_CHECKIN') ||
        ( $status eq 'WAITING_FOR_GRADE') ||         ( $status eq 'WAITING_FOR_GRADE') ||
        ( $status eq 'INVALID_ACCESS') ||         ( $status eq 'INVALID_ACCESS') ||
Line 545  sub done_screen { Line 547  sub done_screen {
     my $title=&Apache::lonnet::gettitle($env{'request.uri'});      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 ($msg,$files,$shown);
     my $msg;      if (@files > 0) {
     foreach my $file (@files) {          $files = '<ul>';
  my $url="/uploaded/$domain/$user/portfolio$file";          foreach my $file (@files) {
  if (! &Apache::lonnet::stat_file($url)) {      my $url="/uploaded/$domain/$user/portfolio$file";
     $file = '<span class="LC_error">'      if (! &Apache::lonnet::stat_file($url)) {
                    .&mt('[_1]Nonexistent file:[_2]'          $file = '<span class="LC_error">'
                        ,'<span class="LC_error"> '                         .&mt('[_1]Nonexistent file:[_2]'
                        ,'</span> <span class="LC_filename">'.$file.'</span>');                             ,'<span class="LC_error"> '
     $msg .= "<p>".&mt('Submitted non-existent file [_1]',$file)."</p>\n";                             ,'</span> <span class="LC_filename">'.$file.'</span>');
  } else {          $msg .= "<p>".&mt('Submitted non-existent file [_1]',$file)."</p>\n";
     $file = '<span class="LC_filename">'.$file.'</span>';      } else {
     $msg .= "<p>".&mt('Submitted file [_1]',$file)."</p>\n";          $file = '<span class="LC_filename">'.$file.'</span>';
  }          $msg .= "<p>".&mt('Submitted file [_1]',$file)."</p>\n";
  $files .= '<li>'.$file.'</li>';      }
       $files .= '<li>'.$file.'</li>';
           }
           $files.='</ul>';
           $shown = '<p>'.&mt('Files submitted: [_1]',$files).'</p>'
                   .'<p>'.&mt('You are now done with this Bridge Task').'</p>'
                   .'<hr />'
                   .'<p><a href="/adm/logout">'.&mt('Logout').'</a></p>'
                   .'<p><a href="/adm/roles">'.&mt('Change to a different course').'</a></p>';
       } else {
           $msg = &mt("Submission status: no files currently submitted, when 'Done' was indicated.");
           $shown = '<p class="LC_error">'.
                    &mt('You did not submit any files.  Please try again.').'</span>'.
                    '</p><p><a href="javascript:history.go(-1);">'.&mt('Back to Bridge Task').'</a></p><hr />';
     }      }
     $files.='</ul>';  
     my $subject = &mt('Submission message for [_1]',$title);      my $subject = &mt('Submission message for [_1]',$title);
     my ($message_status,$comment_status);      my ($message_status,$comment_status);
     my $setting = $env{'course.'.$env{'request.course.id'}.'.task_messages'};      my $setting = $env{'course.'.$env{'request.course.id'}.'.task_messages'};
Line 581  sub done_screen { Line 595  sub done_screen {
  $comment_status = '<p>'.&mt('Message sent to instructor: [_1]',   $comment_status = '<p>'.&mt('Message sent to instructor: [_1]',
     $comment_status).' </p>';      $comment_status).' </p>';
     }      }
    
     return "<h2>$title</h2>"      return "<h2>$title</h2>"
           .'<p>'.&mt('Files submitted: [_1]',$files).'</p>'            .$shown
           .'<p>'.&mt('You are now done with this Bridge Task').'</p>'            .$message_status
           .'<hr />'            .$comment_status;
           .'<p><a href="/adm/logout">'.&mt('Logout').'</a></p>'  
 .'<p><a href="/adm/roles">'.&mt('Change to a different course').'</a></p>'  
 .$message_status  
 .$comment_status;  
   
 }  }
   
 sub start_Task {  sub start_Task {
Line 619  sub start_Task { Line 629  sub start_Task {
     &Apache::structuretags::page_start($target,$token,$tagstack,      &Apache::structuretags::page_start($target,$token,$tagstack,
        $parstack,$parser,$safeeval,         $parstack,$parser,$safeeval,
        $name,&style($target));         $name,&style($target));
   
       }
       if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
           $target eq 'tex') {
           if ($env{'form.markaccess'}) {
               my @interval=&Apache::lonnet::EXT("resource.0.interval");
               &Apache::lonnet::set_first_access($interval[1]);
           }
     }      }
   
     if ($target eq 'web' && $env{'request.state'} ne 'construct') {      if ($target eq 'web' && $env{'request.state'} ne 'construct') {
Line 661  sub start_Task { Line 679  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 '') {   if ((($status eq 'CAN_ANSWER') || ($status eq 'NOT_YET_VIEWED')) && ($version eq '')) {
     # CAN_ANSWER mode, and no current version, unproctored access      # CAN_ANSWER or NOT_YET_VIEWED mode, and no current version, unproctored access
     # thus self-checkedin      # thus self-checkedin
     my $check = &check_in('Task',undef,undef,$slot_name);      my $check = &check_in('Task',undef,undef,$slot_name);
             if ($check =~ /^error: /) {              if ($check =~ /^error: /) {
Line 706  sub start_Task { Line 724  sub start_Task {
     $msg.='<h1>'.&mt('Your submission is in the grading queue.').'</h1>';      $msg.='<h1>'.&mt('Your submission is in the grading queue.').'</h1>';
  } elsif ($env{'form.donescreen'}) {   } elsif ($env{'form.donescreen'}) {
     $result .= &done_screen($version);      $result .= &done_screen($version);
  } elsif ($status ne 'NOT_YET_VIEWED') {   } elsif ($status eq 'NOT_YET_VIEWED') {
                       my $symb=&Apache::lonnet::symbread();
                       $msg.=&Apache::structuretags::firstaccess_msg($accessmsg,$symb);
    } else {
     $msg.='<h1>'.&mt('Not open to be viewed').'</h1>';      $msg.='<h1>'.&mt('Not open to be viewed').'</h1>';
  }   }
  if ($status eq 'CLOSED' || $status eq 'INVALID_ACCESS') {   if ($status eq 'CLOSED' || $status eq 'INVALID_ACCESS') {
Line 1104  sub end_Task { Line 1125  sub end_Task {
                         $portheader = &mt('Submit Portfolio Files for Grading');                          $portheader = &mt('Submit Portfolio Files for Grading');
                         $porttext = &mt('Indicate the files from your portfolio to be evaluated in grading this task.');                          $porttext = &mt('Indicate the files from your portfolio to be evaluated in grading this task.');
                     }                      }
     $result.="\n".'<p>'.&Apache::lonhtmlcommon::start_pick_box().      $result.="\n".'<div>'.&Apache::lonhtmlcommon::start_pick_box().
  &Apache::inputtags::file_selector("$version.0",   &Apache::inputtags::file_selector("$version.0",
   "bridgetask","*",    "bridgetask","*",
   'portfolioonly',    'portfolioonly',
                                                           '<h3>'.$portheader.'</h3><br />'.                                                            '<h3>'.$portheader.'</h3><br />'.
                                                           $porttext.'<br />').                                                            $porttext.'<br />').
  &Apache::lonhtmlcommon::end_pick_box().'</p>';   &Apache::lonhtmlcommon::end_pick_box().'</div>';
  }   }
  if (!$previous && $status ne 'SHOW_ANSWER' &&   if (!$previous && $status ne 'SHOW_ANSWER' &&
     &show_task($status,$previous)) {      &show_task($status,$previous)) {
Line 1331  DONEBUTTON Line 1352  DONEBUTTON
     $Apache::lonhomework::results{"resource.$version.0.solved"};      $Apache::lonhomework::results{"resource.$version.0.solved"};
     }      }
     &minimize_storage();      &minimize_storage();
             my ($canstore,$domain,$name);              my ($canstore,$domain,$name,$symb,$courseid);
               ($symb,$courseid,$domain,$name) = &Apache::lonnet::whichuser();
   
             if ($env{'form.gradingkey'}) {              if ($env{'form.gradingkey'}) {
                 (my $symb,my $courseid,$domain,$name) =  
                     &Apache::lonnet::whichuser();  
                 my $todo=&unescape($env{'form.gradingkey'});                  my $todo=&unescape($env{'form.gradingkey'});
                 my ($keysymb,$uname,$udom)=&decode_queue_key($todo);                  my ($keysymb,$uname,$udom)=&decode_queue_key($todo);
                 if ($symb eq $keysymb) {                  if ($symb eq $keysymb) {
Line 1345  DONEBUTTON Line 1366  DONEBUTTON
             }              }
             if ($canstore) {              if ($canstore) {
         &Apache::structuretags::finalize_storage();          &Apache::structuretags::finalize_storage();
                   my @interval = &Apache::lonnet::EXT("resource.0.interval");
                   if ($interval[0] =~ /^\d+$/ && $interval[1] eq 'resource') {
                       my $key=$courseid."\0".$symb;
                       my %times=&Apache::lonnet::get('firstaccesstimes',
                                                      [$key],$domain,$name);
                       if ($times{$key}) {
                           my $delresult.=&Apache::lonnet::del('firstaccesstimes',
                                                               [$key],$domain,$name);
                       }
                   }
         # data stored, now handle queue          # data stored, now handle queue
         if ($review) {          if ($review) {
     if ($env{'form.queue'} eq 'reviewqueue') {      if ($env{'form.queue'} eq 'reviewqueue') {

Removed from v.1.254  
changed lines
  Added in v.1.257


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