--- loncom/interface/spreadsheet/assesscalc.pm 2003/05/23 14:52:51 1.7
+++ loncom/interface/spreadsheet/assesscalc.pm 2003/05/23 19:36:04 1.8
@@ -1,5 +1,5 @@
#
-# $Id: assesscalc.pm,v 1.7 2003/05/23 14:52:51 matthew Exp $
+# $Id: assesscalc.pm,v 1.8 2003/05/23 19:36:04 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -313,18 +313,30 @@ sub parmval {
return '';
}
+sub get_html_title {
+ my $self = shift;
+ my ($assess_title,$name,$time) = $self->get_title();
+ my $title = '
'.$assess_title.'
'.
+ ''.$name.', '.
+ &Apache::loncommon::aboutmewrapper
+ ($self->{'name'}.'@'.$self->{'domain'},
+ $self->{'name'},$self->{'domain'});
+ $title .= ''.$time.'
';
+ return $title;
+}
+
sub get_title {
my $self = shift;
- my $title;
+ my @title = ();
if (($self->{'usymb'} eq '_feedback') ||
($self->{'usymb'} eq '_evaluation') ||
($self->{'usymb'} eq '_discussion') ||
($self->{'usymb'} eq '_tutoring')) {
- $title = $self->{'usymb'};
- $title =~ s/^_//;
- $title = ''.ucfirst($title)."
\n";
+ my $assess_title = ucfirst($self->{'usymb'});
+ $assess_title =~ s/^_//;
+ push(@title,$assess_title);
} else {
- $title = ''.&Apache::lonnet::gettitle($self->{'symb'})."
\n";
+ push(@title,&Apache::lonnet::gettitle($self->{'symb'}));
}
# Look up the users identifying information
# Get the users information
@@ -333,13 +345,9 @@ sub get_title {
my $name =
join(' ',@userenv{'firstname','middlename','lastname','generation'});
$name =~ s/\s+$//;
- $title .= ''.$name.', '.
- &Apache::loncommon::aboutmewrapper($self->{'name'}.'@'.$self->{'domain'},
- $self->{'name'},$self->{'domain'}).
- "
\n";
- $title .= ''.localtime(time).'
';
- #
- return $title;
+ push (@title,$name);
+ push (@title,scalar(localtime(time)));
+ return @title;
}
sub parent_link {
@@ -405,7 +413,7 @@ END
}
#
my $num_output = 0;
- foreach my $rownum ($self->rows()) {
+ foreach my $rownum (sort {$a <=> $b} ($self->rows())) {
if ($num_output++ % 50 == 0) {
$r->print("\n".$tableheader);
}
@@ -419,7 +427,6 @@ END
sub assess_html_row {
my $self = shift();
my ($num_uneditable,$row) = @_;
- my $requester_is_student = ($ENV{'request.role'} =~ /^st\./);
my $parameter_name = $self->{'formulas'}->{'A'.$row};
my @rowdata = $self->get_row($row);
my $num_cols_output = 0;
@@ -432,14 +439,8 @@ sub assess_html_row {
$row_html .= ''.$parameter_name.' | ';
}
foreach my $cell (@rowdata) {
- if ($requester_is_student ||
- $num_cols_output++ < $num_uneditable) {
- $row_html .= '';
- $row_html .= &Apache::Spreadsheet::html_uneditable_cell($cell,'#FFDDDD');
- } else {
- $row_html .= ' | ';
- $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,'#E0FFDD');
- }
+ $row_html .= ' | ';
+ $row_html .= &Apache::Spreadsheet::html_editable_cell($cell,'#E0FFDD');
$row_html .= ' | ';
}
return $row_html;
@@ -447,19 +448,34 @@ sub assess_html_row {
sub outsheet_csv {
my $self = shift;
- my ($r)=@_;
-}
-
-sub outsheet_excel {
- my $self = shift;
- my ($r)=@_;
+ my ($r) = @_;
+ $r->print('csv output is not supported yet
');
}
-sub display {
+sub excel_rows {
+ # writes the meat of the spreadsheet to an excel worksheet. Called
+ # by Spreadsheet::outsheet_excel;
my $self = shift;
- my ($r) = @_;
- $self->compute();
- $self->outsheet_html($r);
+ my ($worksheet,$cols_output,$rows_output) = @_;
+ #
+ # Write a header row
+ $cols_output = 0;
+ foreach my $value ('Parameter','Description','Value') {
+ $worksheet->write($rows_output,$cols_output++,$value);
+ }
+ $rows_output++;
+ #
+ # Write each row
+ foreach my $rownum (sort {$a <=> $b} ($self->rows())) {
+ my $parameter_name = $self->{'formulas'}->{'A'.$rownum};
+ my $description = '';
+ if (exists($nice_parameter_name{$parameter_name})) {
+ $description = $nice_parameter_name{$parameter_name};
+ }
+ $self->excel_output_row($worksheet,$rownum,$rows_output++,
+ $parameter_name,$description);
+ }
+ return;
}
sub compute {