--- loncom/interface/spreadsheet/assesscalc.pm 2003/05/16 20:55:11 1.1
+++ loncom/interface/spreadsheet/assesscalc.pm 2003/05/23 14:52:51 1.7
@@ -1,5 +1,5 @@
#
-# $Id: assesscalc.pm,v 1.1 2003/05/16 20:55:11 matthew Exp $
+# $Id: assesscalc.pm,v 1.7 2003/05/23 14:52:51 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -46,6 +46,7 @@ package Apache::assesscalc;
use strict;
use Apache::Constants qw(:common :http);
use Apache::lonnet;
+use Apache::loncommon;
use Apache::Spreadsheet;
use HTML::Entities();
use Spreadsheet::WriteExcel;
@@ -171,7 +172,7 @@ sub load_parameter_caches {
my $id = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
my %Tmp = &Apache::lonnet::dump('resourcedata',$dom,$id);
while (my ($name,$value) = each(%Tmp)) {
- $courseopt{$userprefix.$name}=$value;
+ $courseopt{$name}=$value;
}
}
if (! %useropt) {
@@ -198,7 +199,6 @@ sub load_parameter_caches {
########################################################
########################################################
-
sub ensure_current_parameter_caches {
my $self = shift;
if (! defined($current_course) ||
@@ -258,20 +258,25 @@ sub parmval {
#
my $symbparm = $symb.'.'.$what;
my $mapparm = $mapname.'___(all).'.$what;
+ my $courseprefix = $self->{'cid'};
my $usercourseprefix = $uname.'_'.$udom.'_'.$self->{'cid'};
#
- my $seclevel = $usercourseprefix.'.['.$csec.'].'.$what;
- my $seclevelr = $usercourseprefix.'.['.$csec.'].'.$symbparm;
- my $seclevelm = $usercourseprefix.'.['.$csec.'].'.$mapparm;
- #
- my $courselevel = $usercourseprefix.'.'.$what;
- my $courselevelr = $usercourseprefix.'.'.$symbparm;
- my $courselevelm = $usercourseprefix.'.'.$mapparm;
+ my $seclevel = $courseprefix.'.['.$csec.'].'.$what;
+ my $seclevelr = $courseprefix.'.['.$csec.'].'.$symbparm;
+ my $seclevelm = $courseprefix.'.['.$csec.'].'.$mapparm;
+ #
+ my $courselevel = $courseprefix.'.'.$what;
+ my $courselevelr = $courseprefix.'.'.$symbparm;
+ my $courselevelm = $courseprefix.'.'.$mapparm;
+ #
+ my $ucourselevel = $usercourseprefix.'.'.$what;
+ my $ucourselevelr = $usercourseprefix.'.'.$symbparm;
+ my $ucourselevelm = $usercourseprefix.'.'.$mapparm;
# check user
if (defined($uname)) {
- return $useropt{$courselevelr} if (defined($useropt{$courselevelr}));
- return $useropt{$courselevelm} if (defined($useropt{$courselevelm}));
- return $useropt{$courselevel} if (defined($useropt{$courselevel}));
+ return $useropt{$ucourselevelr} if (defined($useropt{$ucourselevelr}));
+ return $useropt{$ucourselevelm} if (defined($useropt{$ucourselevelm}));
+ return $useropt{$ucourselevel} if (defined($useropt{$ucourselevel}));
}
# check section
if (defined($csec)) {
@@ -321,7 +326,17 @@ sub get_title {
} else {
$title = '
'.&Apache::lonnet::gettitle($self->{'symb'})."
\n";
}
- $title .= '
'.$self->{'name'}.'@'.$self->{'domain'}."
\n";
+ # Look up the users identifying information
+ # Get the users information
+ my %userenv = &Apache::loncoursedata::GetUserName($self->{'name'},
+ $self->{'domain'});
+ my $name =
+ join(' ',@userenv{'firstname','middlename','lastname','generation'});
+ $name =~ s/\s+$//;
+ $title .= '
';
#
return $title;
@@ -479,7 +494,7 @@ sub compute {
if (tie(%parmhash,'GDBM_File',
$self->{'coursefilename'}.'_parms.db',&GDBM_READER(),0640)) {
foreach my $parmname (keys(%parameters)) {
- my $value = $self->parmval($parmname);
+ my $value = $self->parmval($parmname);
$parameters{$parmname} =$value;
}
untie(%parmhash);
@@ -508,13 +523,28 @@ sub compute {
my %f=$self->formulas();
my %c;
#
+ # Check for blackout requirements
+ if ((!exists($ENV{'request.role.adv'}) || !$ENV{'request.role.adv'})) {
+ while (my ($parm,$value) = each(%parameters)) {
+ last if ($self->blackout());
+ next if ($parm !~ /^(parameter_.*)_problemstatus$/);
+ next if ($parameters{$1.'_answerdate'}