--- loncom/interface/Attic/lonspreadsheet.pm 2002/09/16 20:09:45 1.110 +++ loncom/interface/Attic/lonspreadsheet.pm 2002/09/27 20:40:19 1.112 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.110 2002/09/16 20:09:45 www Exp $ +# $Id: lonspreadsheet.pm,v 1.112 2002/09/27 20:40:19 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -852,7 +852,7 @@ sub sett { } # Deal with the normal cells foreach (keys(%f)) { - if (($f{$_}) && ($_!~/template\_/)) { + if (exists($f{$_}) && ($_!~/template\_/)) { my $matches=($_=~/^$pattern(\d+)/); if (($matches) && ($1)) { unless ($f{$_}=~/^\!/) { @@ -1226,8 +1226,14 @@ sub rown { if ($vl eq '') { $vl='<font size=+2 color='.$bgcolor.'>#</font>'; } - $rowdata.='<td bgcolor='.$bgcolor.'>'. - '<a href="javascript:celledit('.$fm.');">'.$vl.'</a></td>'; + $rowdata.='<td bgcolor='.$bgcolor.'>'; + if ($ENV{'request.role'} =~ /^st\./) { + $rowdata.=$vl; + } else { + $rowdata.='<a href="javascript:celledit('.$fm.');">'. + $vl.'</a>'; + } + $rowdata.='</td>'; } else { $rowdata.='<td bgcolor='.$bgcolor.'> '.$vl.' </td>'; } @@ -1299,7 +1305,7 @@ sub outsheet { push (@sortby, $safeeval->reval('$f{"A'.$row.'"}')); push (@sortidx, $row-1); } - @sortidx=sort { $sortby[$a] cmp $sortby[$b]; } @sortidx; + @sortidx=sort { lc($sortby[$a]) cmp lc($sortby[$b]); } @sortidx; # # Determine the type of child spreadsheets my $what='Student'; @@ -2412,17 +2418,14 @@ sub cachedssheets { # Interactive call to screen # # - - sub handler { my $r=shift; - my $loaderror=&Apache::lonnet::overloaderror($r); - if ($loaderror) { return $loaderror; } - $loaderror= - &Apache::lonnet::overloaderror($r, - $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); - if ($loaderror) { return $loaderror; } + my $loaderror=&Apache::lonnet::overloaderror($r); + if ($loaderror) { return $loaderror; } + $loaderror= &Apache::lonnet::overloaderror($r, + $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); + if ($loaderror) { return $loaderror; } if ($r->header_only) { $r->content_type('text/html'); @@ -2442,6 +2445,10 @@ sub handler { # Get query string for limited number of parameters &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['uname','udom','usymb','ufn']); + if ($ENV{'request.role'} =~ /^st\./) { + delete $ENV{'form.unewfield'} if (exists($ENV{'form.unewfield'})); + delete $ENV{'form.unewformula'} if (exists($ENV{'form.unewformula'})); + } if (($ENV{'form.usymb'}=~/^\_(\w+)/) && (!$ENV{'form.ufn'})) { $ENV{'form.ufn'}='default_'.$1; } @@ -2468,7 +2475,8 @@ sub handler { $r->send_http_header; # Screen output $r->print('<html><head><title>LON-CAPA Spreadsheet</title>'); - $r->print(<<ENDSCRIPT); + if ($ENV{'request.role'} !~ /^st\./) { + $r->print(<<ENDSCRIPT); <script language="JavaScript"> function celledit(cn,cf) { @@ -2494,6 +2502,7 @@ sub handler { </script> ENDSCRIPT + } $r->print('</head>'.&Apache::loncommon::bodytag('Grades Spreadsheet'). '<form action="'.$r->uri.'" name=sheet method=post>'); $r->print(&hiddenfield('uname',$ENV{'form.uname'}).