Diff for /loncom/interface/lonquickgrades.pm between versions 1.51 and 1.60

version 1.51, 2010/11/29 22:37:26 version 1.60, 2011/01/03 14:19:39
Line 61  sub real_handler { Line 61  sub real_handler {
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     $r->send_http_header;      $r->send_http_header;
   
     my $showPoints =       my $showPoints =
         $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'standard';          $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'standard';
     my $notshowSPRSlink =       my $notshowSPRSlink =
         (($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'external')          (($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'external')
       || ($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals'));        || ($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals'));
     my $notshowTotals=      my $notshowTotals=
Line 72  sub real_handler { Line 72  sub real_handler {
         $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories';          $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories';
   
   
     # Header  
     my $title = "Grading and Statistics";#$showPoints ? "Points Display" : "Completed Problems Display";      my $title = "Grading and Statistics";#$showPoints ? "Points Display" : "Completed Problems Display";
     my $brcrum = [{href=>"/adm/quickgrades",text => "Points Display"}];      my $brcrum = [{href=>"/adm/quickgrades",text => "Points Display"}];
     $r->print(&Apache::loncommon::start_page($title,undef,      $r->print(&Apache::loncommon::start_page($title,undef,
                                             {'bread_crumbs' => $brcrum})                                              {'bread_crumbs' => $brcrum})
              );               );
   
     if (!$showPoints && !$notshowSPRSlink ) {      &startGradeScreen($r,'quick');
         $r->print('<p>'  
                  .&mt('This screen shows how many problems (or problem parts) you have completed'  
                      .', and how many you have not yet done.'  
                      .' You can also look at [_1]a detailed score sheet[_2].'  
                      ,'<a href="/adm/studentcalc">','</a>')  
                  .'</p>');  
     }  
   
     $r->print('<p class="LC_info">'.&mt('This may take a few moments to display.').'</p>');  
   
     $r->rflush();      $r->rflush();
     my ($navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=&getData($showPoints);  
     &outputTable($r,$showPoints,$notshowTotals,  #    my $uname='korte';
   #    my $udom='gerd';
   
       my $uname;
       my $udom;
   
       my ($navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=
          &getData($showPoints,$uname,$udom);
   
       if ($showCategories) {
          &outputCategories($r,$showPoints,$notshowTotals,
                    $navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted);
       } else {
          &outputTable($r,$showPoints,$notshowTotals,
                  $navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted);                   $navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted);
       }
       &endGradeScreen($r);
     return OK;      return OK;
   
 }  }
   
   sub startGradeScreen {
       my ($r,$mode)=@_;
   
       my $showPoints =
           $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'standard';
       my $notshowSPRSlink =
           (($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'external')
         || ($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals')
         || ($env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories'));
       my $notshowTotals=
           $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals';
       my $showCategories=
           $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories';
   
       my $allowed_to_view =  &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
       my $allowed_to_edit =  &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
   
       if ($allowed_to_view) {
          $r->print('<div class="LC_head_subbox">');
          if ($notshowTotals)  { $r->print ('&nbsp;'.&mt('Students do not see total points.').'&nbsp;'); }
          if ($notshowSPRSlink){ $r->print ('&nbsp;'.&mt('Students do not see link to spreadsheet.').'&nbsp;'); }
          if ($showPoints)     { $r->print ('&nbsp;'.&mt('Students will see points based on problem weights.').'&nbsp;'); }
          if ($showCategories) { $r->print ('&nbsp;'.&mt('Students will see points based on categories.').'&nbsp;'); }
          $r->print('&nbsp;'.&Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'),'grading').'</div>');
       }
   
   
       $r->print("\n".'<ul class="LC_TabContentBigger" id="main">');
       $r->print("\n".'<li'.($mode eq 'quick'?' class="active"':'').'><a href="/adm/quickgrades"><b>&nbsp;&nbsp;&nbsp;&nbsp;'.
                                             ($showPoints?&mt('Points Overview'):($showCategories?&mt('Grades Overview'):&mt('Completion Overview'))).
                                             '&nbsp;&nbsp;&nbsp;&nbsp;</b></a></li>');
   
       if (!($showPoints || $notshowSPRSlink) || ($allowed_to_view)) {
          $r->print("\n".'<li'.($mode eq 'spreadsheet'?' class="active"':'').'><a href="/adm/'.($allowed_to_view?'classcalc':'studentcalc').'"><b>'.
                                                                    &mt('Spreadsheet (Detailed)').'</b></a></li>');
       }
       if ($allowed_to_view) {
          $r->print("\n".'<li'.($mode eq 'chart'?' class="active"':'').'><a href="/adm/statistics?reportSelected=student_assessment"><b>'.
                                                                    &mt('Assessment Overview Chart').'</b></a></li>');
   
       }
       if ($allowed_to_edit) {
          $r->print("\n".'<li'.($mode eq 'grading'?' class="active"':'').'><a href="/adm/grades"><b>&nbsp;&nbsp;&nbsp;&nbsp;'.
                                                                    &mt('Problem Grading').'&nbsp;&nbsp;&nbsp;&nbsp;</b></a></li>');
       }
       $r->print("\n".'</ul>'."\n");
       $r->print('<div class="LC_Box" style="clear:both;margin:0;"><div id="maincoursedoc" style="margin:0 0;padding:0 0;"><div class="LC_ContentBox" id="mainCourseDocuments" style="display: block;">');
   }
   
   sub endGradeScreen {
      my ($r)=@_;
      $r->print('</div></div></div>');
   }
   
   
 sub getData {  sub getData {
   
     my ($showPoints)=@_;      my ($showPoints,$uname,$udom)=@_;
   
       &Apache::lonnet::logthis("About to call with $uname $udom");
   
     # Create the nav map      # Create the nav map
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom);
   
     my $res = $navmap->firstResource(); # temp resource to access constants      my $res = $navmap->firstResource(); # temp resource to access constants
   
Line 332  sub outputTable { Line 394  sub outputTable {
   
 }  }
   
   #
   # Outputting category-based grades.
   #
   
   sub outputCategories {
   
       my ($r,$showPoints,$notshowTotals,
              $navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=@_;
   }
   
 # Pass this two refs to arrays for the start and end color, and a number  # Pass this two refs to arrays for the start and end color, and a number
 # from 0 to 1 for how much of the latter you want to mix in. It will  # from 0 to 1 for how much of the latter you want to mix in. It will
 # return a string ready to show ("#FFC309");  # return a string ready to show ("#FFC309");

Removed from v.1.51  
changed lines
  Added in v.1.60


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