--- loncom/interface/spreadsheet/classcalc.pm 2003/05/19 14:30:31 1.2
+++ loncom/interface/spreadsheet/classcalc.pm 2003/05/23 19:36:04 1.3
@@ -1,5 +1,5 @@
#
-# $Id: classcalc.pm,v 1.2 2003/05/19 14:30:31 matthew Exp $
+# $Id: classcalc.pm,v 1.3 2003/05/23 19:36:04 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -58,6 +58,22 @@ use Time::HiRes;
@Apache::classcalc::ISA = ('Apache::Spreadsheet');
+sub html_header {
+ my $self = shift;
+ my ($toprow,$bottomrow);
+ foreach (['Sections','Section selector goes here'],
+ ['Enrollment Status',&Apache::lonhtmlcommon::StatusOptions(undef,undef,3)],
+ ['Output Format',&Apache::Spreadsheet::output_selector()]) {
+ my ($name,$selector) = @{$_};
+ $toprow .= '
'.$name.' | ';
+ $bottomrow .= ''.$selector.' | ';
+ }
+ return "\n
\n".
+ "".$toprow."
\n".
+ "".$bottomrow."
\n".
+ "
\n";
+}
+
sub get_classlist {
my $self = shift;
# Retrieve the classlist
@@ -80,8 +96,15 @@ sub get_classlist {
sub get_title {
my $self = shift;
- my $title = ''.$self->{'coursedesc'}."
\n";
# Section info should be included
+ my @title = ($self->{'coursedesc'}, scalar(localtime(time)) );
+ return @title;
+}
+
+sub get_html_title {
+ my $self = shift;
+ my ($classcalc_title,$time) = $self->get_title();
+ my $title = ''.$classcalc_title."
\n".''.$time."
\n";
return $title;
}
@@ -172,27 +195,46 @@ END
sub outsheet_csv {
my $self = shift;
my ($r) = @_;
+ $r->print('csv output is not supported yet
');
}
-sub outsheet_excel {
+
+sub excel_rows {
+ # writes the meat of the spreadsheet to an excel worksheet. Called
+ # by Spreadsheet::outsheet_excel;
my $self = shift;
- my ($r) = @_;
+ my ($worksheet,$cols_output,$rows_output) = @_;
+ #
+ # Write a header row
+ $cols_output = 0;
+ foreach my $value ('fullname','username','domain','section','status') {
+ $worksheet->write($rows_output,$cols_output++,$value);
+ }
+ $rows_output++;
+ #
+ # Write each students row
+ foreach my $student ($self->get_classlist()) {
+ $cols_output = 0;
+ my $rownum = $self->get_row_number_from_key
+ ($student->{'username'}.':'.$student->{'domain'});
+ $student->{'section'} = 'none' if ($student->{'section'} eq '-1');
+ my @studentdata = ($student->{'fullname'},
+ $student->{'username'},
+ $student->{'domain'},
+ $student->{'section'},
+ $student->{'status'});
+ $self->excel_output_row($worksheet,$rownum,$rows_output++,
+ @studentdata);
+ }
+ return;
}
+
sub outsheet_recursive_excel {
my $self = shift;
my ($r) = @_;
}
-sub display {
- my $self = shift;
- my ($r) = @_;
- $self->compute($r);
- # display as html/csv/excel/etc....
- $self->outsheet_html($r);
- return;
-}
-
sub compute {
my $self = shift;
my ($r) = @_;