--- loncom/interface/Attic/londropadd.pm 2002/10/16 13:00:57 1.57
+++ loncom/interface/Attic/londropadd.pm 2002/10/16 18:45:10 1.59
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.57 2002/10/16 13:00:57 matthew Exp $
+# $Id: londropadd.pm,v 1.59 2002/10/16 18:45:10 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -755,25 +755,27 @@ sub print_html_classlist {
if (! exists($ENV{'form.sortby'})) {
$ENV{'form.sortby'} = 'username';
}
- if (! exists($ENV{'form.Status'}) ||
- $ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
+ if ($ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
$ENV{'form.Status'} = 'Active';
}
my $status_select = &Apache::lonhtmlcommon::StatusOptions
($ENV{'form.Status'},'studentform');
$r->print(<
+
Current Classlist
+END
+ if ($ENV{'form.action'} ne 'modifystudent') {
+ $r->print(<CSV format
-$status_select
-
END
+ }
+ $r->print($status_select."\n");
my $cid=$ENV{'request.course.id'};
my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist();
if (! defined($classlist)) {
@@ -821,7 +823,10 @@ sub show_class_list {
$r->print('Select a user name to modify the students information');
}
$r->print(<
+
+
@@ -838,8 +843,16 @@ sub show_class_list {
END
} elsif ($mode eq 'csv') {
- $r->print('"'.join('","',("username","domain","ID","student name",
- "section")).'"'."\n");
+ if($statusmode eq 'Expired') {
+ $r->print('"Students with expired roles"');
+ }
+ if ($statusmode eq 'Any') {
+ $r->print('"'.join('","',("username","domain","ID","student name",
+ "section","status")).'"'."\n");
+ } else {
+ $r->print('"'.join('","',("username","domain","ID","student name",
+ "section")).'"'."\n");
+ }
}
#
# Sort the students
@@ -875,9 +888,12 @@ END
$username,
$domain));
} elsif ($linkto eq 'modify') {
- $r->print(''.
+ $r->print(''.
$username."\n");
}
$r->print(<<"END");
@@ -894,6 +910,9 @@ END
foreach ($username,$domain,$id,$name,$section) {
push @line,&Apache::loncommon::csv_translate($_);
}
+ if ($statusmode eq 'Any') {
+ push @line,&Apache::loncommon::csv_translate($status);
+ }
my $tmp = $";
$" = '","';
$r->print("\"@line\"\n");
@@ -910,7 +929,7 @@ END
sub print_modify_student_form {
my $r = shift();
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
- ['sdom','sname','sortby']);
+ ['sdom','sname']);
my $sname = $ENV{'form.sname'};
my $sdom = $ENV{'form.sdom'};
my $sortby = $ENV{'form.sortby'};
@@ -938,6 +957,11 @@ sub print_modify_student_form {
my $enddateform = &Apache::lonhtmlcommon::date_setter('studentform',
'enddate',
$endtime);
+ #
+ if (! exists($ENV{'form.Status'}) ||
+ $ENV{'form.Status'} !~ /^(Any|Expired|Active)$/) {
+ $ENV{'form.Status'} = 'crap';
+ }
# Make sure student is enrolled in course
$r->print(<
@@ -950,6 +974,8 @@ Only domain coordinators can change a us
+
+
Modify Enrollment for $info{'firstname'} $info{'middlename'}
$info{'lastname'} $info{'generation'}, $sname\@$sdom
@@ -987,8 +1013,10 @@ END
#
sub modify_single_student {
my $r = shift;
- # Get the 'sortby' variable so the user does not need to re-sort
+ # Get the 'sortby' and 'Status' variables so the user goes back to their
+ # previous screen
my $sortby = $ENV{'form.sortby'};
+ my $status = $ENV{'form.Status'};
#
# We always need this information
my $slogin = $ENV{'form.slogin'};
@@ -999,6 +1027,8 @@ sub modify_single_student {
['firstname','middlename',
'lastname','generation','id'],
$sdom, $slogin);
+ $old{'section'} = &Apache::lonnet::getsection($sdom,$slogin,
+ $ENV{'request.course.id'});
my ($tmp) = keys(%old);
if ($tmp =~ /^(con_lost|error|no_such_host)/i) {
$r->print("There was an error determining the environment values ".
@@ -1060,11 +1090,14 @@ sub modify_single_student {