version 1.3, 2003/05/22 20:06:09
|
version 1.7, 2003/05/23 14:52:51
|
Line 523 sub compute {
|
Line 523 sub compute {
|
my %f=$self->formulas(); |
my %f=$self->formulas(); |
my %c; |
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'}<time); |
|
if (lc($value) eq 'no') { |
|
# We must blackout this sheet |
|
$self->blackout(1); |
|
} |
|
} |
|
} |
|
# |
|
# Move the parameters into the spreadsheet |
while (my ($parm,$value) = each(%parameters)) { |
while (my ($parm,$value) = each(%parameters)) { |
my $cell = 'A'.$self->get_row_number_from_key($parm); |
my $cell = 'A'.$self->get_row_number_from_key($parm); |
$f{$cell} = $parm; |
$f{$cell} = $parm; |
$c{$parm} = '"'.$value.'"'; |
$value = '"'.$value.'"' if ($value =~/[^0-9.]/); |
|
$c{$parm} = $value; |
} |
} |
$self->formulas(%f); |
$self->formulas(\%f); |
$self->constants(%c); |
$self->constants(\%c); |
$self->calcsheet(); |
$self->calcsheet(); |
# |
# |
# Store export row in cache |
# Store export row in cache |
Line 649 spreadsheet only if necessary.
|
Line 664 spreadsheet only if necessary.
|
sub export_data { |
sub export_data { |
my $self = shift; |
my $self = shift; |
my $symb = $self->{'symb'}; |
my $symb = $self->{'symb'}; |
if (! exists($Exportrows{$symb}) || ! defined($Exportrows{$symb}) || |
if (! exists($ENV{'request.role.adv'}) || ! $ENV{'request.role.adv'} || |
|
! exists($Exportrows{$symb}) || ! defined($Exportrows{$symb}) || |
! $self->check_expiration_time($Exportrows{$symb}->{'time'}) || |
! $self->check_expiration_time($Exportrows{$symb}->{'time'}) || |
! exists($Exportrows{$symb}->{$self->{'filename'}}) || |
! exists($Exportrows{$symb}->{$self->{'filename'}}) || |
! defined($Exportrows{$symb}->{$self->{'filename'}})) { |
! defined($Exportrows{$symb}->{$self->{'filename'}})) { |
Line 681 Writes the export data for this spreadsh
|
Line 697 Writes the export data for this spreadsh
|
############################################# |
############################################# |
sub save_export_data { |
sub save_export_data { |
my $self = shift; |
my $self = shift; |
|
return if ($self->temporary()); |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
my $symb = $self->{'symb'}; |
my $symb = $self->{'symb'}; |
if (! exists($Exportrows{$symb}) || |
if (! exists($Exportrows{$symb}) || |