version 1.55.6.1, 2011/10/09 00:28:03
|
version 1.60, 2011/09/26 15:48:06
|
Line 64 use Apache::lonnet;
|
Line 64 use Apache::lonnet;
|
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::loncoursedata(); |
use Apache::loncoursedata(); |
|
use Apache::lonquickgrades(); |
use HTML::Entities(); |
use HTML::Entities(); |
|
|
## |
## |
Line 203 END
|
Line 204 END
|
sub handler { |
sub handler { |
my $r=shift; |
my $r=shift; |
# |
# |
# Overload checking |
|
# |
|
# Check this server |
|
my $loaderror=&Apache::lonnet::overloaderror($r); |
|
if ($loaderror) { return $loaderror; } |
|
# Check the course homeserver |
|
$loaderror= &Apache::lonnet::overloaderror($r, |
|
$env{'course.'.$env{'request.course.id'}.'.home'}); |
|
# if ($loaderror) { return $loaderror; } |
|
# |
|
# HTML Header |
# HTML Header |
# |
# |
if ($r->header_only) { |
if ($r->header_only) { |
Line 251 sub handler {
|
Line 242 sub handler {
|
|
|
# |
# |
# Do not allow users without vgr or mgr priv to continue unless |
# Do not allow users without vgr or mgr priv to continue unless |
# grading type is set to spreadsheet. |
# grading type is set to spreadsheet. |
# |
# |
|
|
if ((!$allowed_to_view) && (!$allowed_to_edit)) { |
if ((!$allowed_to_view) && (!$allowed_to_edit)) { |
Line 285 sub handler {
|
Line 276 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'}; |
my $warning; |
|
if (exists($env{'form.sname'}) && $env{'form.sname'} ne '') { |
if (exists($env{'form.sname'}) && $env{'form.sname'} ne '') { |
if (($env{'form.sname'} ne $env{'user.name'}) || |
$name = $env{'form.sname'}; |
($env{'form.sdomain'} ne $env{'user.domain'})) { |
$domain = $env{'form.sdomain'}; |
if (($allowed_to_view) || ($allowed_to_edit)) { |
|
if (&Apache::lonnet::homeserver($env{'form.sname'},$env{'form.sdomain'}) ne 'no_host') { |
|
$name = $env{'form.sname'}; |
|
$domain = $env{'form.sdomain'}; |
|
} else { |
|
$warning = &mt('Requested user: "[_1]" does not exist; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'}); |
|
} |
|
} else { |
|
$warning = &mt('Your current role is not permitted to display this sheet for the requested user: "[_1]"; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'}); |
|
} |
|
} |
|
} |
} |
$env{'form.sname'} = $name; |
$env{'form.sname'} = $name; |
$env{'form.sdomain'} = $domain; |
$env{'form.sdomain'} = $domain; |
Line 425 ENDSCRIPT
|
Line 404 ENDSCRIPT
|
text => 'Spreadsheet', |
text => 'Spreadsheet', |
faq => 134, |
faq => 134, |
bug => 'Spreadsheet'}); |
bug => 'Spreadsheet'}); |
my $settingslink = &Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'), |
|
'grading'); |
|
&Apache::lonhtmlcommon::add_breadcrumb_tool('advtools',$settingslink); |
|
$r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js). |
$r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js). |
&Apache::lonhtmlcommon::breadcrumbs('Spreadsheet', |
&Apache::lonhtmlcommon::breadcrumbs('Spreadsheet', |
'Spreadsheet_About')); |
'Spreadsheet_About')); |
|
|
# |
# |
# Open the form |
# Tabs |
|
# |
|
&Apache::lonquickgrades::startGradeScreen($r,'spreadsheet'); |
|
|
# |
# |
if ($warning) { |
# Open the form |
$r->print('<p class="LC_info">'.$warning.'</p>'); |
# |
} |
|
$r->print('<form action="'.$r->uri.'" name="sheet" method="post">'); |
$r->print('<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 459 ENDSCRIPT
|
Line 438 ENDSCRIPT
|
if (exists($env{'form.recalc'})) { |
if (exists($env{'form.recalc'})) { |
&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 'expireallsheets') { |
&Apache::lonnet::logthis('spreadsheet expired: entire course'); |
&Apache::lonnet::logthis('spreadsheet expired: entire course'); |
# expire ALL spreadsheets |
# expire ALL spreadsheets |
&Apache::lonnet::expirespread('','','studentcalc'); |
&Apache::lonnet::expirespread('','','studentcalc'); |
Line 579 END
|
Line 558 END
|
$r->print(&hiddenfield('filename',$filename)); |
$r->print(&hiddenfield('filename',$filename)); |
# |
# |
# Keep track of the number of times we have been called, sort of. |
# Keep track of the number of times we have been called, sort of. |
$r->print(&hiddenfield('not_first_run','whatever')); |
$r->print(&hiddenfield('not_first_run','1')); |
# |
# |
if (exists($env{'form.not_first_run'}) || $sheettype ne 'classcalc') { |
if (exists($env{'form.not_first_run'}) || $sheettype ne 'classcalc') { |
$r->print($spreadsheet->get_html_title()); |
$r->print($spreadsheet->get_html_title()); |
Line 589 END
|
Line 568 END
|
$r->rflush(); |
$r->rflush(); |
$spreadsheet->display($r); |
$spreadsheet->display($r); |
} |
} |
$r->print('</form>'.&Apache::loncommon::end_page()); |
$r->print('</form>'); |
|
&Apache::lonquickgrades::endGradeScreen($r); |
|
$r->print(&Apache::loncommon::end_page()); |
$spreadsheet->clear_package(); |
$spreadsheet->clear_package(); |
return OK; |
return OK; |
} |
} |