--- loncom/interface/spreadsheet/classcalc.pm 2005/03/10 17:33:57 1.22 +++ loncom/interface/spreadsheet/classcalc.pm 2010/12/03 21:33:56 1.30 @@ -1,5 +1,5 @@ # -# $Id: classcalc.pm,v 1.22 2005/03/10 17:33:57 matthew Exp $ +# $Id: classcalc.pm,v 1.30 2010/12/03 21:33:56 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -83,17 +83,19 @@ sub html_header { my $self = shift; my ($toprow,$bottomrow); &Apache::lonstatistics::clear_classlist_variables(); - foreach (['Sections',&Apache::lonstatistics::SectionSelect('Section','multpile',3)], - ['Enrollment Status',&Apache::lonhtmlcommon::StatusOptions(undef,undef,3)], + foreach (['Sections',&Apache::lonstatistics::SectionSelect('Section','multiple',3)], + ['Groups',&Apache::lonstatistics::GroupSelect('Group','multiple',3)], + ['Access Status',&Apache::lonhtmlcommon::StatusOptions(undef,undef,3)], ['Output Format',$self->output_selector()]) { my ($name,$selector) = @{$_}; $toprow .= '<th align="center"><b>'.&mt($name).'</b></th>'; $bottomrow .= '<td>'.$selector.'</td>'; } - my $status .= '<nobr>'.&mt('Status: [_1]', - '<input type="text" '. - 'name="spreadsheet_status" size="60" value="" />' - ).'</nobr>'; + my $status .= '<p><span class="LC_nobreak">' + .&mt('Status: [_1]', + '<input type="text" name="spreadsheet_status"' + .' size="60" value="" readonly="readonly" />') + .'</span></p>'; return "<p>\n<table>\n". "<tr>".$toprow."</tr>\n". @@ -144,6 +146,7 @@ sub outsheet_html { 'username' => 'Username', 'domain' => 'Domain', 'section' => 'Section', + 'groups' => 'Groups', 'row' => 'Row', ); my $tableheader =<<"END"; @@ -189,6 +192,7 @@ END <th>$header{'username'}</th> <th>$header{'domain'}</th> <th>$header{'section'}</th> + <th>$header{'groups'}</th> <th>$header{'status'}</th> END foreach (split(//,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')){ @@ -215,6 +219,7 @@ END '<td>'.$link.$student->{'username'}.'</a></td>'. '<td>'.$student->{'domain'} .'</td>'. '<td>'.$student->{'section'} .'</td>'. + '<td>'.$student->{'groups'} .'</td>'. '<td>'.$student->{'status'} .'</td>'. $self->html_row($num_uneditable,$rownum,$exportcolor, $importcolor). @@ -232,7 +237,7 @@ sub excel_rows { # # Write a header row $cols_output = 0; - foreach my $value ('Fullname','Username','Domain','Section','Status','ID') { + foreach my $value ('Fullname','Username','Domain','Section','Group','Status','ID') { $worksheet->write($rows_output,$cols_output++,&mt($value),$format->{'h4'}); } $rows_output++; @@ -247,6 +252,7 @@ sub excel_rows { $student->{'username'}, $student->{'domain'}, $student->{'section'}, + $student->{'groups'}, $student->{'status'}, $student->{'id'}); $self->excel_output_row($worksheet,$rownum,$rows_output++, @@ -263,7 +269,7 @@ sub csv_rows { # # Write a header row $self->csv_output_row($filehandle,undef, - (&mt('Fullname'),&mt('Username'),&mt('Domain'),&mt('Section'),&mt('Status'),&mt('ID'))); + (&mt('Fullname'),&mt('Username'),&mt('Domain'),&mt('Section'),&mt('Group'),&mt('Status'),&mt('ID'))); # # Write each students row foreach my $student (@Students) { @@ -274,6 +280,7 @@ sub csv_rows { $student->{'username'}, $student->{'domain'}, $student->{'section'}, + $student->{'groups'}, $student->{'status'}, $student->{'id'}); $self->csv_output_row($filehandle,$rownum,@studentdata); @@ -285,6 +292,8 @@ sub output_options { my $self = shift(); return ({value => 'htmlclasslist', description => 'Student Sheet Links'}, + {value => 'source', + description => 'Show Source'}, {value => 'html', description => 'HTML'}, {value => 'excel', @@ -307,13 +316,13 @@ sub outsheet_htmlclasslist { # # Determine if we should output expire caches links... my $show_expire_link = 0; - if (exists($ENV{'user.role.dc./'.$ENV{'request.role.domain'}.'/'})){ + if (exists($env{'user.role.dc./'.$env{'request.role.domain'}.'/'})){ $show_expire_link = 1; } # if ($show_expire_link) { $r->print('<a href="/adm/classcalc?output_format=htmlclasslist&'. - 'recalc=ilovewastingtime¬_first_run=1">'. + 'recalc=expireallsheets¬_first_run=1">'. &mt('Expire all student spreadsheets').'</a>'.$/); } # @@ -327,6 +336,7 @@ sub outsheet_htmlclasslist { 'username' => 'Username', 'domain' => 'Domain', 'section' => 'Section', + 'groups' => 'Groups', ); # # Prepare to output rows @@ -339,6 +349,7 @@ sub outsheet_htmlclasslist { <th>$header{'username'}</th> <th>$header{'domain'}</th> <th>$header{'section'}</th> + <th>$header{'groups'}</th> <th>$header{'status'}</th> END if ($show_expire_link) { @@ -360,6 +371,7 @@ END '<td>'.$link.$student->{'username'}.'</a></td>'. '<td>'.$student->{'domain'} .'</td>'. '<td>'.$student->{'section'} .'</td>'. + '<td>'.$student->{'groups'} .'</td>'. '<td>'.$student->{'status'} .'</td>'); if ($show_expire_link) { $r->print('<td>'. @@ -404,7 +416,8 @@ sub compute { if ($connection->aborted()) { $self->cleanup(); return; } my $sname = $student->{'username'}.':'.$student->{'domain'}; my $studentsheet = Apache::studentcalc->new - ($student->{'username'},$student->{'domain'},undef); + ($student->{'username'},$student->{'domain'},undef,undef, + $student->{'section'},$student->{'groupref'} ); if ($connection->aborted()) { $self->cleanup(); return; } my @exportdata = $studentsheet->export_data($r); if ($studentsheet->badcalc()) {