version 1.30, 2003/11/21 18:18:04
|
version 1.39, 2004/10/12 20:51:54
|
Line 240 sub handler {
|
Line 240 sub handler {
|
# Get query string for limited number of parameters |
# Get query string for limited number of parameters |
# |
# |
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi |
($ENV{'QUERY_STRING'},['sname','sdomain','usymb','filename','recalc']); |
($ENV{'QUERY_STRING'},['sname','sdomain','usymb','filename','recalc', |
|
'output_format','not_first_run']); |
# |
# |
# Deal with restricted student permissions |
# Deal with restricted student permissions |
# |
# |
Line 256 sub handler {
|
Line 257 sub handler {
|
$symb = $ENV{'form.usymb'} if (exists($ENV{'form.usymb'})); |
$symb = $ENV{'form.usymb'} if (exists($ENV{'form.usymb'})); |
my $name = $ENV{'user.name'}; |
my $name = $ENV{'user.name'}; |
my $domain = $ENV{'user.domain'}; |
my $domain = $ENV{'user.domain'}; |
if (exists($ENV{'form.sname'})) { |
if (exists($ENV{'form.sname'}) && $ENV{'form.sname'} ne '') { |
$name = $ENV{'form.sname'}; |
$name = $ENV{'form.sname'}; |
$domain = $ENV{'form.sdomain'}; |
$domain = $ENV{'form.sdomain'}; |
} |
} |
|
$ENV{'form.sname'} = $name; |
|
$ENV{'form.sdomain'} = $domain; |
## |
## |
## Check permissions |
## Check permissions |
my $allowed_to_edit = &Apache::lonnet::allowed('mgr', |
my $allowed_to_edit = &Apache::lonnet::allowed('mgr', |
Line 290 sub handler {
|
Line 293 sub handler {
|
# Check that the student is in their section? |
# Check that the student is in their section? |
if (exists($ENV{'request.course.sec'}) && |
if (exists($ENV{'request.course.sec'}) && |
$ENV{'request.course.sec'} ne '' ) { |
$ENV{'request.course.sec'} ne '' ) { |
my $stu_sec = &Apache::lonnet::usection($domain,$name, |
my $stu_sec = &Apache::lonnet::getsection($domain,$name, |
$ENV{'request.course.id'}); |
$ENV{'request.course.id'}); |
if ($stu_sec ne $ENV{'request.course.sec'}) { |
if ($stu_sec ne $ENV{'request.course.sec'}) { |
$ENV{'user.error.msg'}= |
$ENV{'user.error.msg'}= |
$r->uri.":vgr:0:0:Requested student not in your section."; |
$r->uri.":vgr:0:0:Requested student not in your section."; |
Line 365 sub handler {
|
Line 368 sub handler {
|
</script> |
</script> |
ENDSCRIPT |
ENDSCRIPT |
} |
} |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href => $r->uri, |
|
title => 'Spreadsheet', |
|
text => 'Spreadsheet', |
|
faq => 134, |
|
bug => 'Spreadsheet'}); |
$r->print('</head>'.&Apache::loncommon::bodytag('Grades Spreadsheet'). |
$r->print('</head>'.&Apache::loncommon::bodytag('Grades Spreadsheet'). |
|
&Apache::lonhtmlcommon::breadcrumbs(undef,'Spreadsheet'). |
'<form action="'.$r->uri.'" name="sheet" method="post">'); |
'<form action="'.$r->uri.'" name="sheet" method="post">'); |
$r->print(&hiddenfield('sname' ,$ENV{'form.sname'}). |
$r->print(&hiddenfield('sname' ,$ENV{'form.sname'}). |
&hiddenfield('sdomain',$ENV{'form.sdomain'}). |
&hiddenfield('sdomain',$ENV{'form.sdomain'}). |
Line 389 ENDSCRIPT
|
Line 400 ENDSCRIPT
|
&Apache::loncoursedata::delete_caches($ENV{'requres.course.id'}); |
&Apache::loncoursedata::delete_caches($ENV{'requres.course.id'}); |
} |
} |
if ($ENV{'form.recalc'} eq 'ilovewastingtime') { |
if ($ENV{'form.recalc'} eq 'ilovewastingtime') { |
&Apache::lonnet::logthis('ilovewastingtime'); |
&Apache::lonnet::logthis('spreadsheet expired: entire course'); |
# expire ALL spreadsheets |
# expire ALL spreadsheets |
&Apache::lonnet::expirespread('','','studentcalc'); |
&Apache::lonnet::expirespread('','','studentcalc'); |
&Apache::lonnet::expirespread('','','assesscalc'); |
&Apache::lonnet::expirespread('','','assesscalc'); |
|
$r->print('<h3>'. |
|
&mt('Expired spreadsheet caches for all students'). |
|
'</h3>'); |
} elsif ($ENV{'form.recalc'} =~ /^symb:/) { |
} elsif ($ENV{'form.recalc'} =~ /^symb:/) { |
# expire for all students on this symb |
# expire for all students on this symb |
my ($symb) = ($ENV{'form.recalc'} =~ /^symb:(.*)$/); |
my ($symb) = ($ENV{'form.recalc'} =~ /^symb:(.*)$/); |
&Apache::lonnet::logthis('symb = '.$symb); |
&Apache::lonnet::logthis('spreadsheet expired: symb = '.$symb); |
&Apache::lonnet::expirespread('','','assesscalc',$symb); |
&Apache::lonnet::expirespread('','','assesscalc',$symb); |
&Apache::lonnet::expirespread('','','studentcalc'); |
&Apache::lonnet::expirespread('','','studentcalc'); |
|
$r->print('<h3>'. |
|
&mt('Expired spreadsheet caches for all students for symb [_1]', |
|
$symb). |
|
'</h3>'); |
} elsif ($ENV{'form.recalc'} =~ /^student:/) { |
} elsif ($ENV{'form.recalc'} =~ /^student:/) { |
# expire all assessment spreadsheets for this user |
# expire all assessment spreadsheets for this user |
my ($sname,$sdom) = ($ENV{'form.recalc'}=~/^student:(.*):(.*)$/); |
my ($sname,$sdom) = ($ENV{'form.recalc'}=~/^student:(.*):(.*)$/); |
&Apache::lonnet::logthis('student = '.$sname.':'.$sdom); |
&Apache::lonnet::logthis('spreadsheet expired: student = '. |
|
$sname.'@'.$sdom); |
if (defined($sname) && defined($sdom)) { |
if (defined($sname) && defined($sdom)) { |
&Apache::lonnet::expirespread($sname,$sdom,'assesscalc'); |
&Apache::lonnet::expirespread($sname,$sdom,'assesscalc'); |
&Apache::lonnet::expirespread($sname,$sdom,'studentcalc'); |
&Apache::lonnet::expirespread($sname,$sdom,'studentcalc'); |
|
$r->print('<h3>'. |
|
&mt('Expired spreadsheet caches for student [_1]', |
|
$sname.'@'.$sdom). |
|
'</h3>'); |
} |
} |
} |
} |
} |
} |
Line 450 ENDSCRIPT
|
Line 473 ENDSCRIPT
|
} |
} |
$action_message .= '.'; |
$action_message .= '.'; |
} |
} |
$r->print('<table><tr><td>'.$spreadsheet->html_header().'</td>'. |
$r->print('<table><tr><td valign="top">'. |
'<td valign="bottom">'.$html."</td></tr></table>\n"); |
$spreadsheet->html_header(). |
|
'</td>'. |
|
'<td valign="center">'.$html."</td></tr></table>\n"); |
if ($action_message ne '') { |
if ($action_message ne '') { |
$r->print(<<END); |
$r->print(<<END); |
<table> |
<table> |
Line 470 END
|
Line 495 END
|
$r->rflush(); |
$r->rflush(); |
# |
# |
$r->print("<table><tr>"); |
$r->print("<table><tr>"); |
if ($sheettype eq 'classcalc') { |
$r->print('<td><input type="submit" value="'. |
$r->print('<td><input type="submit" value="'. |
&mt('Generate Spreadsheet').'" />'. |
&mt('Generate Spreadsheet').'" />'. |
'</td>'); |
'</td>'); |
|
} |
|
if ($allowed_to_view) { |
if ($allowed_to_view) { |
$r->print('<td>'. |
$r->print('<td>'. |
&Apache::loncommon::help_open_topic("Spreadsheet_About", |
&Apache::loncommon::help_open_topic("Spreadsheet_About", |