--- loncom/interface/spreadsheet/assesscalc.pm 2003/05/23 21:03:29 1.9
+++ loncom/interface/spreadsheet/assesscalc.pm 2003/05/29 18:31:27 1.12
@@ -1,5 +1,5 @@
#
-# $Id: assesscalc.pm,v 1.9 2003/05/23 21:03:29 matthew Exp $
+# $Id: assesscalc.pm,v 1.12 2003/05/29 18:31:27 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -123,6 +123,10 @@ sub clear_package {
undef(%courseopt);
}
+sub initialize {
+ &clear_package();
+}
+
########################################################
########################################################
@@ -418,7 +422,7 @@ END
$r->print("\n".$tableheader);
}
$r->print('
'.$rownum.' | '.
- $self->assess_html_row($num_uneditable,$rownum)."
\n");
+ $self->assess_html_row($rownum)."\n");
}
$r->print("\n");
return;
@@ -426,7 +430,7 @@ END
sub assess_html_row {
my $self = shift();
- my ($num_uneditable,$row) = @_;
+ my ($row) = @_;
my $parameter_name = $self->{'formulas'}->{'A'.$row};
my @rowdata = $self->get_row($row);
my $num_cols_output = 0;
@@ -439,9 +443,17 @@ sub assess_html_row {
$row_html .= ''.$parameter_name.' | ';
}
foreach my $cell (@rowdata) {
- $row_html .= '';
- $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,'#E0FFDD');
+ if ($num_cols_output < 1) {
+ $row_html .= ' | ';
+ $row_html .= &Apache::Spreadsheet::html_uneditable_cell($cell,
+ '#FFDDDD');
+ } else {
+ $row_html .= ' | ';
+ $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,
+ '#E0FFDD',1);
+ }
$row_html .= ' | ';
+ $num_cols_output++;
}
return $row_html;
}
@@ -499,6 +511,19 @@ sub compute {
my $self = shift;
$self->logthis('computing');
$self->initialize_safe_space();
+ #########################################
+ #########################################
+ ### ###
+ ### Retrieve the problem parameters ###
+ ### ###
+ #########################################
+ #########################################
+ my @Mandatory_parameters = ("stores_0_solved",
+ "stores_0_awarddetail",
+ "stores_0_awarded",
+ "timestamp",
+ "stores_0_tries",
+ "stores_0_award");
#
# Definitions
undef(%nice_parameter_name);
@@ -507,7 +532,7 @@ sub compute {
# Get the metadata fields and determine their proper names
my ($symap,$syid,$srcf)=split(/___/,$self->{'symb'});
my @Metadata = split(/\,/,&Apache::lonnet::metadata($srcf,'keys'));
- foreach my $parm (@Metadata) {
+ foreach my $parm (@Mandatory_parameters,@Metadata) {
next if ($parm !~ /^(resource\.|stores|parameter)_/);
my $cleaned_name = $parm;
$cleaned_name =~ s/^resource\./stores_/;
@@ -587,6 +612,7 @@ sub compute {
#
# Save the export data
$self->save_export_data();
+ $self->save() if ($self->need_to_save());
return;
}