Diff for /loncom/interface/lonquickgrades.pm between versions 1.89 and 1.91

version 1.89, 2011/05/24 17:17:24 version 1.91, 2011/05/24 23:44:33
Line 646  ENDMOVE Line 646  ENDMOVE
 # Content display and summing up of points  # Content display and summing up of points
     my $totalpossible=0;      my $totalpossible=0;
     my $totalcorrect=0;      my $totalcorrect=0;
       my @individual=();
     if ($output) { $r->print('<td><ul>'); }      if ($output) { $r->print('<td><ul>'); }
     foreach my $contentid (split(/\,/,$categories{$id.'_content'})) {      foreach my $contentid (split(/\,/,$categories{$id.'_content'})) {
         my ($type,$possible,$attempted,$correct)=split(/\:/,$$performance{$contentid});          my ($type,$possible,$attempted,$correct)=split(/\:/,$$performance{$contentid});
         $totalpossible+=$possible;          $totalpossible+=$possible;
         $totalcorrect+=$correct;          $totalcorrect+=$correct;
           if ($possible>0) { push(@individual,"$possible:$correct"); }
         if ($output) {          if ($output) {
            $r->print('<li>');             $r->print('<li>');
            $r->print(&Apache::lonnet::gettitle($contentid).' ('.$correct.'/'.$possible.')');             $r->print(&Apache::lonnet::gettitle($contentid).' ('.$correct.'/'.$possible.')');
Line 669  ENDMOVE Line 671  ENDMOVE
        $r->print('</td>');          $r->print('</td>'); 
     }      }
 # Total  # Total
       if ($output) { $r->print('<td>'); }
     if ($cangrade) {      if ($cangrade) {
        if ($output) {          if ($output) { 
           $r->print('<td>'.            $r->print(
                   '<select name="totaltype_'.$id.'">'.                    '<select name="totaltype_'.$id.'">'.
                   '<option value="default"'.($categories{$id.'_totaltype'} eq 'default'?' selected="selected"':'').'>'.&mt('default').'</option>'.                    '<option value="default"'.($categories{$id.'_totaltype'} eq 'default'?' selected="selected"':'').'>'.&mt('default').'</option>'.
                   '<option value="typein"'.($categories{$id.'_totaltype'} eq 'typein'?' selected="selected"':'').'>'.&mt('Type-in value').'</option>'.                    '<option value="typein"'.($categories{$id.'_totaltype'} eq 'typein'?' selected="selected"':'').'>'.&mt('Type-in value').'</option>'.
                   '</select>'.                    '</select>'.
                   '<input type="text" size="4" name="total_'.$id.                    '<input type="text" size="4" name="total_'.$id.
                   '" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_total'}).'" /></td>');                     '" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_total'}).'" />'); 
        }         }
     } else {      } else {
        if ($output) {         if ($output) {
           $r->print('<td>'.($categories{$id.'_totaltype'} eq 'default'?&mt('default'):$categories{$id.'_total'}).'</td>');            $r->print('<td>'.($categories{$id.'_totaltype'} eq 'default'?&mt('default'):$categories{$id.'_total'}));
        }         }
     }      }
   # Adjust total points
       if ($categories{$id.'_totaltype'} eq 'typein') {
          $totalpossible=1.*$categories{$id.'_total'};
       }
       if ($output) {
          $r->print('<p>'.&mt('Adjusted raw points: [_1]/[_2]',$totalcorrect,$totalpossible).'</p>');
       }
   
   
 # Calculation  # Calculation
       my $actualtotal=$totalcorrect;
     if ($output) { $r->print('<td><ul>'); }      if ($output) { $r->print('<td><ul>'); }
     foreach my $calcrule (split(/\,/,$categories{$id.'_calculations'})) {      foreach my $calcrule (split(/\,/,$categories{$id.'_calculations'})) {
         if ($output) { $r->print('<li>'); }          if ($output) { $r->print('<li>'); }
Line 695  ENDMOVE Line 706  ENDMOVE
         if ($cangrade) {          if ($cangrade) {
            if ($output) { $r->print(' <a href="javascript:storecmd(\'delrule_'.$id.'______'.$code.'\');">'.&mt('Delete').'</a>'); }             if ($output) { $r->print(' <a href="javascript:storecmd(\'delrule_'.$id.'______'.$code.'\');">'.&mt('Delete').'</a>'); }
         }          }
           if ($code eq 'capabove') {
               if ($totalpossible>0) {
                   if ($actualtotal/$totalpossible>$value/100.) {
                       $actualtotal=$totalpossible*$value/100.;
                   }
               }
           } elsif ($code eq 'capbelow') {
               if ($totalpossible>0) {
                   if ($actualtotal/$totalpossible<$value/100.) {
                       $actualtotal=$totalpossible*$value/100.;
                   }
               }
           }
         if ($output) { $r->print('</li>'); }          if ($output) { $r->print('</li>'); }
     }      }
     if ($output) { $r->print('</ul>'); }      if ($output) { 
          $r->print('</ul>'); 
          $r->print('<p>'.&mt('Calculated points: [_1]/[_2]',$actualtotal,$totalpossible).'</p>');
       }
   
     if ($cangrade) {      if ($cangrade) {
         if ($output) { $r->print('<br />'.&new_calc_rule_form($id)); }          if ($output) { $r->print('<br />'.&new_calc_rule_form($id)); }
     }      }
Line 781  sub make_new_category { Line 809  sub make_new_category {
   
 sub category_rule_codes {  sub category_rule_codes {
     return &Apache::lonlocal::texthash(      return &Apache::lonlocal::texthash(
                 'droplow'  => 'Drop N lowest grade assignments',                  'droplowperc'  => 'Drop N lowest grade percentage problems/folders',
                 'drophigh' => 'Drop N highest grade assignments',                  'drophighperc' => 'Drop N highest grade percentage problems/folderss',
                   'droplow'  => 'Drop N lowest point problems/folders',
                   'drophigh' => 'Drop N highest point problems/folders',
                 'capabove' => 'Cap percentage above N percent',                  'capabove' => 'Cap percentage above N percent',
                 'capbelow' => 'Cap percentage below N percent');                  'capbelow' => 'Cap percentage below N percent');
 }  }

Removed from v.1.89  
changed lines
  Added in v.1.91


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