version 1.14, 2003/07/16 15:57:32
|
version 1.16.2.1, 2003/12/05 22:24:20
|
Line 174 sub outsheet_html {
|
Line 174 sub outsheet_html {
|
my $editing_is_allowed = &Apache::lonnet::allowed('mgr', |
my $editing_is_allowed = &Apache::lonnet::allowed('mgr', |
$ENV{'request.course.id'}); |
$ENV{'request.course.id'}); |
#################################### |
#################################### |
|
# Report any calculation errors # |
|
#################################### |
|
$r->print($self->html_report_error()); |
|
#################################### |
# Determine table structure # |
# Determine table structure # |
#################################### |
#################################### |
my $num_uneditable = 26; |
my $num_uneditable = 26; |
Line 411 sub outsheet_recursive_excel {
|
Line 415 sub outsheet_recursive_excel {
|
|
|
sub compute { |
sub compute { |
my $self = shift; |
my $self = shift; |
$self->logthis('computing'); |
|
if (! defined($current_course) || |
if (! defined($current_course) || |
$current_course ne $ENV{'request.course.id'}) { |
$current_course ne $ENV{'request.course.id'}) { |
$current_course = $ENV{'request.course.id'}; |
$current_course = $ENV{'request.course.id'}; |
Line 453 sub compute {
|
Line 456 sub compute {
|
$assess_filename, |
$assess_filename, |
$resource->{'symb'}); |
$resource->{'symb'}); |
my @exportdata = $assessSheet->export_data(); |
my @exportdata = $assessSheet->export_data(); |
|
if ($assessSheet->badcalc()) { |
|
$self->set_calcerror( |
|
'Error computing row for assessment '. |
|
$assessSheet->get_title().'(row '.$rownum.'):'. |
|
$assessSheet->calcerror()); |
|
} |
if ($assessSheet->blackout()) { |
if ($assessSheet->blackout()) { |
$self->blackout(1); |
$self->blackout(1); |
$self->{'blackout_rows'}->{$rownum} = 1; |
$self->{'blackout_rows'}->{$rownum} = 1; |
Line 582 sub save_export_data {
|
Line 591 sub save_export_data {
|
my $self = shift; |
my $self = shift; |
return if ($self->temporary()); |
return if ($self->temporary()); |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
|
if ($self->badcalc()){ |
|
# do not save data away when calculations have not been done properly. |
|
delete($Exportrows{$student}); |
|
return; |
|
} |
return if (! exists($Exportrows{$student})); |
return if (! exists($Exportrows{$student})); |
return if (! $self->is_default()); |
return if (! $self->is_default()); |
my $key = join(':',($self->{'name'},$self->{'domain'},'studentcalc')).':'; |
my $key = join(':',($self->{'name'},$self->{'domain'},'studentcalc')).':'; |
Line 589 sub save_export_data {
|
Line 603 sub save_export_data {
|
my $newstore = join('___;___', |
my $newstore = join('___;___', |
@{$Exportrows{$student}->{'data'}}); |
@{$Exportrows{$student}->{'data'}}); |
$newstore = '___=___'.$newstore; |
$newstore = '___=___'.$newstore; |
&Apache::lonnet::put('nohist_calculatedsheets', |
my $result= &Apache::lonnet::put('nohist_calculatedsheets', |
{ $key => $newstore, |
{ $key => $newstore, |
$timekey => $Exportrows{$student}->{'time'} }, |
$timekey => $Exportrows{$student}->{'time'} }, |
$self->{'cdom'}, |
$self->{'cdom'}, |
Line 615 sub export_data {
|
Line 629 sub export_data {
|
my $self = shift; |
my $self = shift; |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
if (! exists($Exportrows{$student}) || |
if (! exists($Exportrows{$student}) || |
|
! defined($Exportrows{$student}) || |
|
! exists($Exportrows{$student}->{'data'}) || |
|
! defined($Exportrows{$student}->{'data'}) || |
|
! exists($Exportrows{$student}->{'time'}) || |
|
! defined($Exportrows{$student}->{'time'}) || |
! $self->check_expiration_time($Exportrows{$student}->{'time'})) { |
! $self->check_expiration_time($Exportrows{$student}->{'time'})) { |
$self->compute(); |
$self->compute(); |
} |
} |
my @Data = @{$Exportrows{$student}->{'data'}}; |
my @Data; |
for (my $i=0; $i<=$#Data;$i++) { |
if ($self->badcalc()) { |
$Data[$i]="'".$Data[$i]."'" if ($Data[$i]=~/\D/ && defined($Data[$i])); |
@Data = (); |
|
} else { |
|
@Data = @{$Exportrows{$student}->{'data'}}; |
|
for (my $i=0; $i<=$#Data;$i++) { |
|
if ($Data[$i]=~/\D/ && defined($Data[$i])) { |
|
$Data[$i]="'".$Data[$i]."'"; |
|
} |
|
} |
} |
} |
return @Data; |
return @Data; |
} |
} |