--- loncom/interface/spreadsheet/assesscalc.pm 2006/05/15 23:40:47 1.55
+++ loncom/interface/spreadsheet/assesscalc.pm 2014/02/11 19:11:30 1.60
@@ -1,5 +1,5 @@
#
-# $Id: assesscalc.pm,v 1.55 2006/05/15 23:40:47 albertel Exp $
+# $Id: assesscalc.pm,v 1.60 2014/02/11 19:11:30 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -156,7 +156,7 @@ sub initialize {
if (! defined($navmap)) {
$navmap = Apache::lonnavmaps::navmap->new();
}
- if (!defined($navmap)) {
+ if ((!defined($navmap)) || (!ref($navmap))) {
&Apache::lonnet::logthis('assesscalc:Can not open Coursemap');
}
&Apache::loncoursedata::clear_internal_caches();
@@ -174,7 +174,7 @@ sub initialize {
########################################################
########################################################
sub initialize_package {
- my ($sname,$sdomain,$in_navmap) = @_;
+ my ($sname,$sdomain,$in_navmap,$calling_sheet) = @_;
$current_name = $sname;
$current_domain = $sdomain;
$navmap = $in_navmap;
@@ -185,7 +185,7 @@ sub initialize_package {
undef(%courseopt);
}
&load_cached_export_rows();
- &load_parameter_caches();
+ &load_parameter_caches($calling_sheet);
&Apache::loncoursedata::clear_internal_caches();
}
@@ -202,6 +202,7 @@ sub initialize_package {
########################################################
########################################################
sub load_parameter_caches {
+ my ($calling_sheet) = @_;
my $userprefix = $current_name.':'.$current_domain.'_';
$userprefix =~ s/:/_/g;
#
@@ -234,6 +235,10 @@ sub load_parameter_caches {
if (! %userdata) {
%userdata = &Apache::loncoursedata::get_current_state($current_name,
$current_domain);
+ my ($tmp) = %userdata;
+ if ($tmp =~ /^error:(.*)/) {
+ $calling_sheet->set_calcerror($1);
+ }
$userdata{'loadtime'} = time;
}
return;
@@ -272,7 +277,7 @@ sub ensure_current_caches {
undef(%useropt);
undef(%userdata);
}
- &load_parameter_caches();
+ &load_parameter_caches($self);
}
##################################################
@@ -483,19 +488,19 @@ END
$r->print($tableheader);
#
# Print out template row
- $r->print('
Template | | '.
+ $r->print('
'.&mt('Template').' | | '.
$self->html_template_row($num_uneditable,$importcolor).
"
\n");
#
# Print out summary/export row
- $r->print('Export | 0 | '.
+ $r->print('
'.&mt('Export').' | 0 | '.
$self->html_export_row($exportcolor)."
\n");
#
# Prepare to output rows
- $tableheader =<<"END";
-
-row | Item |
-END
+ $tableheader =
+ ''.
+ ''.&mt('Row').' | '.
+ ''.&mt('Item').' | ';
foreach (split(//,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')){
if ($label_num<$num_uneditable) {
$tableheader.='';
@@ -542,7 +547,7 @@ sub assess_html_row {
$row_html .= &Apache::Spreadsheet::html_uneditable_cell($cell,
'#FFDDDD');
} else {
- $row_html .= ' | ';
+ $row_html .= ' | ';
$row_html .= &Apache::Spreadsheet::html_editable_cell($cell,
'#E0FFDD',1);
}
@@ -847,7 +852,7 @@ sub sett {
# Replace 'A0' with the value from 'A0'
$t{$cell}=~s/(^|[^\"\'])([A-Za-z]\d+)/$1\$sheet_values\{\'$2\'\}/g;
# Replace parameters
- $t{$cell}=~s/(^|[^\"\'])\[([^\]]+)\]/$1.$self->expandnamed($2)/ge;
+ $t{$cell}=~s/(^|[^\"\'])\[([^\]]+)\]/$1.$self->expandnamed($2)/sge;
}
}
#
@@ -866,7 +871,7 @@ sub sett {
$t{$cell}=$formula;
$t{$cell}=~s/\.\.+/\,/g;
$t{$cell}=~s/(^|[^\"\'])([A-Za-z]\d+)/$1\$sheet_values\{\'$2\'\}/g;
- $t{$cell}=~s/(^|[^\"\'])\[([^\]]+)\]/$1.$self->expandnamed($2)/ge;
+ $t{$cell}=~s/(^|[^\"\'])\[([^\]]+)\]/$1.$self->expandnamed($2)/sge;
}
}
# Put %t into the safe space
|
---|
---|