--- loncom/interface/Attic/londropadd.pm 2005/11/01 20:47:15 1.131
+++ loncom/interface/Attic/londropadd.pm 2006/08/08 19:02:04 1.147
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.131 2005/11/01 20:47:15 albertel Exp $
+# $Id: londropadd.pm,v 1.147 2006/08/08 19:02:04 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -39,19 +39,14 @@ use Apache::Constants qw(:common :http R
use Spreadsheet::WriteExcel;
use Apache::lonstathelpers();
use Apache::lonlocal;
+use Apache::longroup;
###############################################################
###############################################################
sub header {
- my $html=&Apache::lonxml::xmlbegin();
- my $bodytag=&Apache::loncommon::bodytag('Enrollment Manager');
- my $title = &mt('LON-CAPA Enrollment Manager');
+ my $start_page=&Apache::loncommon::start_page('Enrollment Manager');
return(<
\n";
- $Str .= ''."
\n";
$Str .= &mt('Note: for large courses, this operation may be time '.
'consuming');
@@ -686,7 +705,7 @@ sub print_upload_manager_form {
['lname',&mt('Last Name'), $env{'form.lname_choice'}],
['gen', &mt('Generation'), $env{'form.gen_choice'}],
['id', &mt('ID/Student Number'),$env{'form.id_choice'}],
- ['sec', &mt('Group/Section'), $env{'form.sec_choice'}],
+ ['sec', &mt('Section'), $env{'form.sec_choice'}],
['ipwd', &mt('Initial Password'),$env{'form.ipwd_choice'}],
['email',&mt('EMail Address'), $env{'form.email_choice'}]);
if ($env{'form.upfile_associate'} eq 'reverse') {
@@ -890,7 +909,8 @@ sub make_dates_default {
$result .= "Set default start and end dates for course
";
#
# Refresh the course environment
- &Apache::lonnet::coursedescription($env{'request.course.id'});
+ &Apache::lonnet::coursedescription($env{'request.course.id'},
+ {'freshen_cache' => 1});
} else {
$result .= &mt('Unable to set default dates for course').":".$put_result.
'
';
@@ -1058,7 +1078,7 @@ END
# Print it all out
my %lt=&Apache::lonlocal::texthash(
'cd' => "Course Data",
- 'gs' => "Group/Section",
+ 'gs' => "Section",
'idsn' => "ID/Student Number",
'disn' => "Disable ID/Student Number Safeguard and Force Change of Conflicting IDs (only do if you know what you are doing)",
'eas' => "Enroll as student",
@@ -1069,7 +1089,7 @@ END
+ ');
+ }
$r->print("
-
$lt{'end'} + | + $lt{'grp'} | -'."\n".' '. + ''. + $photo_options{$photochg}.' '.$lt{'photo'}."\n". + ' | '."\n"); + } + $r->print(" \n"); } elsif ($mode eq 'csv') { # # Open a file @@ -1317,16 +1383,20 @@ END if($statusmode eq 'Expired') { print $CSVfile '"'.&mt('Students with expired roles').'"'."\n"; } + if($statusmode eq 'Future') { + print $CSVfile '"'.&mt('Students with future roles').'"'."\n"; + } if ($statusmode eq 'Any') { print $CSVfile '"'.join('","',map { &Apache::loncommon::csv_translate(&mt($_)) } ("username","domain","ID","student name", - "section","start date","end date","status")).'"'."\n"; + "section","start date","end date","status","active groups")) + .'"'."\n"; } else { print $CSVfile '"'.join('","',map { &Apache::loncommon::csv_translate(&mt($_)) } ("username","domain","ID","student name", - "section","start date","end date")).'"'."\n"; + "section","start date","end date","active groups")).'"'."\n"; } } elsif ($mode eq 'excel') { # Create the excel spreadsheet @@ -1341,7 +1411,8 @@ END # $excel_sheet->write($row++,0,["username","domain","ID", "student name","section", - "start date","end date","status"], + "start date","end date","status", + "active groups"], $format->{'bold'}); } # @@ -1351,6 +1422,7 @@ END foreach (@$keylist) { $index{$_} = $i++; } + $index{'groups'} = scalar(@{$keylist}); my $index = $index{$sortby}; my $second = $index{'username'}; my $third = $index{'domain'}; @@ -1368,9 +1440,14 @@ END my $lockcount = 0; foreach my $student (@Sorted_Students) { my $sdata = $classlist->{$student}; + my $groups = $classgroups->{$student}; my $username = $sdata->[$index{'username'}]; my $domain = $sdata->[$index{'domain'}]; my $section = $sdata->[$index{'section'}]; + my $active_groups; + if (ref($groups->{active}) eq 'HASH') { + $active_groups = join(', ',keys(%{$groups->{'active'}})); + } my $name = $sdata->[$index{'fullname'}]; my $id = $sdata->[$index{'id'}]; my $status = $sdata->[$index{'status'}]; @@ -1389,7 +1466,7 @@ END } else { $end = &Apache::lonlocal::locallocaltime($end); } - $r->print("
---|---|---|
$section | $start | $end | -$active_groups | END + if ($env{'course.'.$env{'request.course.id'}. + '.internal.showphoto'}) { + if ($displayphotos eq 'on') { + my $imgurl = + &Apache::lonnet::retrievestudentphoto($domain, + $username,'gif', + 'thumbnail'); + + $r->print(''); + } + } + $r->print(&Apache::loncommon::end_data_table_row()); } elsif ($mode eq 'csv') { next if (! defined($CSVfile)); # no need to bother with $linkto @@ -1458,6 +1549,7 @@ END if ($statusmode eq 'Any') { push @line,&Apache::loncommon::csv_translate($status); } + push @line,&Apache::loncommon::csv_translate($active_groups); print $CSVfile '"'.join('","',@line).'"'."\n"; } elsif ($mode eq 'excel') { $excel_sheet->write($row,0,[$username,$domain,$id, @@ -1473,11 +1565,12 @@ END } } $excel_sheet->write($row,$col++,$status); + $excel_sheet->write($row,$col++,$active_groups); $row++; } } if ($mode eq 'view' || $mode eq 'html' || $mode eq 'autoenroll') { - $r->print(' |