Diff for /loncom/interface/lonquickgrades.pm between versions 1.38 and 1.44

version 1.38, 2006/02/27 02:11:27 version 1.44, 2008/12/10 21:46:58
Line 48  sub real_handler { Line 48  sub real_handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING});      &Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING});
   
     # Handle header-only request      # Handle header-only request
       if ($env{'browser.mathml'}) {
    &Apache::loncommon::content_type($r,'text/xml');
       } else {
    &Apache::loncommon::content_type($r,'text/html');
       }
     if ($r->header_only) {      if ($r->header_only) {
         if ($env{'browser.mathml'}) {   $r->send_http_header;
             &Apache::loncommon::content_type($r,'text/xml');  
         } else {  
             &Apache::loncommon::content_type($r,'text/html');  
         }  
         $r->send_http_header;  
         return OK;          return OK;
     }      }
   
     # Send header, don't cache this page      # Send header, don't cache this page
     if ($env{'browser.mathml'}) {  
         &Apache::loncommon::content_type($r, 'text/xml');  
     } else {  
         &Apache::loncommon::content_type($r, 'text/html');  
     }  
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     $r->send_http_header;      $r->send_http_header;
   
Line 87  sub real_handler { Line 82  sub real_handler {
     
     # Header      # Header
     my $title = $showPoints ? "Points Display" : "Completed Problems Display";      my $title = $showPoints ? "Points Display" : "Completed Problems Display";
     $r->print(&Apache::loncommon::bodytag($title, '', ''));   my @brcrum = [{href=>"/adm/quickgrades",text => "Points Display"}];
       $r->print(&Apache::loncommon::start_page($title,undef,{bread_crumbs => @brcrum}));
   
     if (!$showPoints && !$notshowSPRSlink ) {      if (!$showPoints && !$notshowSPRSlink ) {
         $r->print(<<HEADER);           $r->print('<p>'
 <p>This screen shows how many problems (or problem parts) you have completed, and                   .&mt('This screen shows how many problems (or problem parts) you have completed'
 how many you have not yet done. You can also look at <a href="/adm/studentcalc">a detailed                       .', and how many you have not yet done.'
 score sheet</a>.</p>                       .' You can also look at [_1]a detailed score sheet[_2].'
 HEADER                       ,'<a href="/adm/studentcalc">','</a>')
                    .'</p>');
     }      }
   
     $r->print("This may take a few moments to display.");      $r->print('<p class="LC_info">'.&mt('This may take a few moments to display.').'</p>');
   
     $r->rflush();      $r->rflush();
   
Line 150  HEADER Line 147  HEADER
     my $score = 0;      my $score = 0;
     # If we're not telling status and the answer date isn't passed yet,       # If we're not telling status and the answer date isn't passed yet, 
     # it's an "attempted" point      # it's an "attempted" point
     if ($curRes->problemstatus($part) eq 'no' &&      if ((($curRes->problemstatus($part) eq 'no') ||
                           ($curRes->problemstatus($part) eq 'no_feedback_ever')) &&
  ($dateStatus != $curRes->ANSWER_OPEN)) {   ($dateStatus != $curRes->ANSWER_OPEN)) {
  my $status = $curRes->simpleStatus($part);   my $status = $curRes->simpleStatus($part);
  if ($status == $curRes->ATTEMPTED) {   if ($status == $curRes->ATTEMPTED) {
Line 158  HEADER Line 156  HEADER
     $totalAttempted += $partsAttempted;      $totalAttempted += $partsAttempted;
  }   }
     } else {      } else {
  $score = Apache::grades::compute_points($curRes->weight($part), $curRes->awarded($part));   $score = &Apache::grades::compute_points($curRes->weight($part), $curRes->awarded($part));
     }      }
     $partsRight += $score;      $partsRight += $score;
     $totalRight += $score;      $totalRight += $score;
Line 227  HEADER Line 225  HEADER
     my $indentString = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';      my $indentString = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
   
     # Second pass: Print the maps.      # Second pass: Print the maps.
     $r->print('<table cellspacing="3" border="2"><tr><td align="center"><b>' .      $r->print(&Apache::loncommon::start_data_table()
       &mt('Folder') . '</b></td>');               .&Apache::loncommon::start_data_table_header_row()
                .'<th>'.&mt('Folder').'</th>');
     $title = &mt($showPoints ? "Points Scored" : "Done");      $title = &mt($showPoints ? "Points Scored" : "Done");
     if ($totalAttempted) {      if ($totalAttempted) {
  $title .= " / " . &mt("Attempted");   $title .= " / " . &mt("Attempted");
     }      }
     $r->print("<td align='center'>$title / "      $r->print("<th>$title / ".&mt('Total').'</td>'
       . &mt('Total') . "</td><tr>\n\n");               .&Apache::loncommon::end_data_table_header_row());
     while ($depth > 0) {      while ($depth > 0) {
         if ($curRes == $iterator->BEGIN_MAP()) {$depth++;}          if ($curRes == $iterator->BEGIN_MAP()) {$depth++;}
         if ($curRes == $iterator->END_MAP()) { $depth--; }          if ($curRes == $iterator->END_MAP()) { $depth--; }
Line 250  HEADER Line 249  HEADER
                 my $ratio;                  my $ratio;
                 $ratio = $correct / $total;                  $ratio = $correct / $total;
                 my $color = mixColors(\@start, \@end, $ratio);                  my $color = mixColors(\@start, \@end, $ratio);
                 $r->print("<tr><td bgcolor='$color'>");                  $r->print(&Apache::loncommon::start_data_table_row()
                            .'<td style="background-color:'.$color.';">');
                                   
  my $thisIndent = '';   my $thisIndent = '';
                 for (my $i = 1; $i < $depth; $i++) { $thisIndent .= $indentString; }                  for (my $i = 1; $i < $depth; $i++) { $thisIndent .= $indentString; }
                                   
                 $r->print("$thisIndent$title</td>");                  $r->print("$thisIndent$title</td>");
  if ($totalAttempted) {   if ($totalAttempted) {
     $r->print("<td valign='top'>$thisIndent<nobr>$correct / $attempted / $total</nobr></td></tr>\n");      $r->print("<td valign='top'>$thisIndent<nobr>$correct / $attempted / $total</nobr></td>"
                                .&Apache::loncommon::end_data_table_row());
  } else {   } else {
     $r->print("<td valign='top'>$thisIndent<nobr>$correct / $total</nobr></td></tr>\n");      $r->print("<td valign='top'>$thisIndent<nobr>$correct / $total</nobr></td>"
                                .&Apache::loncommon::end_data_table_row());
  }   }
             }              }
         }          }
Line 271  HEADER Line 273  HEADER
     if ($topLevelParts > 0) {      if ($topLevelParts > 0) {
         my $ratio = $topLevelRight / $topLevelParts;          my $ratio = $topLevelRight / $topLevelParts;
         my $color = mixColors(\@start, \@end, $ratio);          my $color = mixColors(\@start, \@end, $ratio);
         $r->print("<tr><td bgcolor='$color'>");          $r->print(&Apache::loncommon::start_data_table_row()
                    .'<td style="background-color:'.$color.';">');
         $r->print(&mt("Problems Not Contained In A Folder")."</td><td>");          $r->print(&mt("Problems Not Contained In A Folder")."</td><td>");
         $r->print("$topLevelRight / $topLevelParts</td></tr>");          $r->print("$topLevelRight / $topLevelParts</td>"
                    .&Apache::loncommon::end_data_table_row());
     }      }
   
     if ($showPoints) {      if ($showPoints) {
  my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct");   my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct");
   
  $title = $showPoints ? "Points" : "Parts Done";   $title = $showPoints ? "Points" : "Parts Done";
    my $totaltitle = $showPoints ? &mt("Awarded Total Points") : &mt("Total Parts Done");
  $r->print("<tr><td colspan='2' align='right'>Total $title: <b>$totalRight</b><br>");   $r->print(&Apache::loncommon::start_data_table_row()
                    .'<td colspan="2" align="right">'.$totaltitle.': <b>'.$totalRight.'</b><br>');
  $r->print(&mt("Max Possible To Date")." $maxHelpLink: <b>$totalPossible</b><br>");   $r->print(&mt("Max Possible To Date")." $maxHelpLink: <b>$totalPossible</b><br>");
  $title = $showPoints ? "Points" : "Parts";   $title = $showPoints ? "Points" : "Parts";
  $r->print(&mt("Total $title In Course").": <b>$totalParts</b></td></tr>\n\n");   $r->print(&mt("Total $title In Course").': <b>'.$totalParts.'</b></td>'
                    .&Apache::loncommon::end_data_table_row());
     }      }
   
     $r->print("</table></body></html>");      $r->print(&Apache::loncommon::end_data_table()
                .&Apache::loncommon::end_page());
   
     return OK;      return OK;
 }  }

Removed from v.1.38  
changed lines
  Added in v.1.44


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.