Diff for /loncom/homework/grades.pm between versions 1.103 and 1.104

version 1.103, 2003/06/20 20:13:18 version 1.104, 2003/06/20 21:28:18
Line 131  sub getclasslist { Line 131  sub getclasslist {
  # filter students according to status selected   # filter students according to status selected
  if ($filterlist && $ENV{'form.status'} ne 'Any') {   if ($filterlist && $ENV{'form.status'} ne 'Any') {
     if ($ENV{'form.status'} ne $status) {      if ($ENV{'form.status'} ne $status) {
 Apache->request->print("<p>removed</p>");  
  delete ($classlist->{$_});   delete ($classlist->{$_});
  next;   next;
     }      }
Line 455  LISTJAVASCRIPT Line 454  LISTJAVASCRIPT
  next if ($statusflg eq '' && $submitonly eq 'yes');   next if ($statusflg eq '' && $submitonly eq 'yes');
   
  $ctr++;   $ctr++;
  if ( $Apache::grades::viewgrades eq 'F' ) {   if ( $perm{'vgr'} eq 'F' ) {
     $gradeTable.='<tr bgcolor="#ffffe6">'.      $gradeTable.='<tr bgcolor="#ffffe6">'.
  '<td align="center"><input type=checkbox name="stuinfo" value="'.   '<td align="center"><input type=checkbox name="stuinfo" value="'.
  $student.':'.$$fullname{$student}.'"></td>'."\n".   $student.':'.$$fullname{$student}.'"></td>'."\n".
Line 1059  sub submission { Line 1058  sub submission {
   
     (my $url=$ENV{'form.url'})=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;      (my $url=$ENV{'form.url'})=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
     my ($uname,$udom)     = ($ENV{'form.student'},$ENV{'form.userdom'});      my ($uname,$udom)     = ($ENV{'form.student'},$ENV{'form.userdom'});
       my $usec = &Apache::lonnet::getsection($udom,$uname,$ENV{'request.course.id'});
     $ENV{'form.fullname'} = &get_fullname ($uname,$udom) if $ENV{'form.fullname'} eq '';      $ENV{'form.fullname'} = &get_fullname ($uname,$udom) if $ENV{'form.fullname'} eq '';
   
     my $symb=($ENV{'form.symb'} ne '' ? $ENV{'form.symb'} : (&Apache::lonnet::symbread($url)));      my $symb=($ENV{'form.symb'} ne '' ? $ENV{'form.symb'} : (&Apache::lonnet::symbread($url)));
     if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }      if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }
   
       if (!&canview($usec)) {
    $request->print('<font color="red">Unable to view requested student.('.$uname.$udom.$usec.$ENV{'request.course.id'}.')</font>');
    $request->print(&show_grading_menu_form($symb,$url));
    return;
       }
   
     my $last = ($ENV{'form.lastSub'} eq 'last' ? 'last' : '');      my $last = ($ENV{'form.lastSub'} eq 'last' ? 'last' : '');
   
     # header info      # header info
Line 1297  KEYWORDS Line 1303  KEYWORDS
     }      }
           
     # return if view submission with no grading option      # return if view submission with no grading option
     if ($ENV{'form.showgrading'} eq '') {      if ($ENV{'form.showgrading'} eq '' || (!&canmodify($usec))) {
  $request->print('</td></tr></table></td></tr></table></form>'."\n");   $request->print('</td></tr></table></td></tr></table></form>'."\n");
  $request->print(&show_grading_menu_form($symb,$url))    $request->print(&show_grading_menu_form($symb,$url)) 
     if (($ENV{'form.command'} eq 'submission') ||       if (($ENV{'form.command'} eq 'submission') || 
Line 1441  sub processHandGrade { Line 1447  sub processHandGrade {
  $ctr++;   $ctr++;
  next;   next;
     }      }
       if ($errorflag eq 'not_allowed') {
    $request->print("<font color=\"red\">Not allowed to modify grades for $uname:$udom</font>");
    $ctr++;
    next;
       }
     my $includemsg = $ENV{'form.includemsg'.$ctr};      my $includemsg = $ENV{'form.includemsg'.$ctr};
     my ($subject,$message,$msgstatus) = ('','','');      my ($subject,$message,$msgstatus) = ('','','');
     if ($includemsg =~ /savemsg|newmsg\Q$ctr\E/) {      if ($includemsg =~ /savemsg|newmsg\Q$ctr\E/) {
Line 1460  sub processHandGrade { Line 1471  sub processHandGrade {
     if ($ENV{'form.collaborator'.$ctr}) {      if ($ENV{'form.collaborator'.$ctr}) {
  my (@collaborators) = split(/:/,$ENV{'form.collaborator'.$ctr});   my (@collaborators) = split(/:/,$ENV{'form.collaborator'.$ctr});
  foreach (@collaborators) {   foreach (@collaborators) {
     &saveHandGrade($request,$url,$symb,$_,$udom,$ctr,      my ($errorflag,$pts,$wgt) = &saveHandGrade($request,$url,$symb,$_,$udom,$ctr,$ENV{'form.unamedom'.$ctr});
    $ENV{'form.unamedom'.$ctr});      if ($errorflag eq 'not_allowed') {
     if ($message ne '') {   $request->print("<font color=\"red\">Not allowed to modify grades for $_:$udom</font>");
  $msgstatus = &Apache::lonmsg::user_normal_msg ($_,$udom,   next;
        $ENV{'form.msgsub'},      } else {
        $message);   if ($message ne '') {
       $msgstatus = &Apache::lonmsg::user_normal_msg ($_,$udom,
      $ENV{'form.msgsub'},
      $message);
    }
     }      }
  }   }
     }      }
Line 1598  sub processHandGrade { Line 1613  sub processHandGrade {
 #---- Save the score and award for each student, if changed  #---- Save the score and award for each student, if changed
 sub saveHandGrade {  sub saveHandGrade {
     my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter) = @_;      my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter) = @_;
       my $usec = &Apache::lonnet::getsection($domain,$stuname,
      $ENV{'request.course.id'});
       if (!&canmodify($usec)) { return('not_allowed'); }
     my %record     = &Apache::lonnet::restore($symb,$ENV{'request.course.id'},$domain,$stuname);      my %record     = &Apache::lonnet::restore($symb,$ENV{'request.course.id'},$domain,$stuname);
     my %newrecord  = ();      my %newrecord  = ();
     my ($pts,$wgt) = ('','');      my ($pts,$wgt) = ('','');
Line 3477  sub handler { Line 3495  sub handler {
  delete($perm{'mgr'});   delete($perm{'mgr'});
     }      }
  }   }
 # $Apache::lonxml::debug=1;   #delete($perm{'mgr'});
 # &Apache::lonxml::debug("command is $command");   #$Apache::lonxml::debug=1;
    #&Apache::lonxml::debug("command is $command");
   
  if ($command eq 'submission') {   if ($command eq 'submission' && $perm{'vgr'}) {
     ($ENV{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0));      ($ENV{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0));
  } elsif ($command eq 'pickStudentPage' && $perm{'vgr'}) {   } elsif ($command eq 'pickStudentPage' && $perm{'vgr'}) {
     &pickStudentPage($request);      &pickStudentPage($request);
  } elsif ($command eq 'displayPage' && $perm{'vgr'}) {   } elsif ($command eq 'displayPage' && $perm{'vgr'}) {
     &displayPage($request);      &displayPage($request);
  } elsif ($command eq 'gradeByPage') {   } elsif ($command eq 'gradeByPage' && $perm{'mgr'}) {
     &updateGradeByPage($request);      &updateGradeByPage($request);
  } elsif ($command eq 'processGroup') {   } elsif ($command eq 'processGroup' && $perm{'vgr'}) {
     &processGroup($request);      &processGroup($request);
  } elsif ($command eq 'gradingmenu') {   } elsif ($command eq 'gradingmenu' && $perm{'vgr'}) {
     $request->print(&gradingmenu($request));      $request->print(&gradingmenu($request));
  } elsif ($command eq 'viewgrades') {   } elsif ($command eq 'viewgrades' && $perm{'vgr'}) {
     $request->print(&viewgrades($request));      $request->print(&viewgrades($request));
  } elsif ($command eq 'handgrade') {   } elsif ($command eq 'handgrade' && $perm{'mgr'}) {
     $request->print(&processHandGrade($request));      $request->print(&processHandGrade($request));
  } elsif ($command eq 'editgrades') {   } elsif ($command eq 'editgrades') {
     $request->print(&editgrades($request));      $request->print(&editgrades($request));

Removed from v.1.103  
changed lines
  Added in v.1.104


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