--- 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 {