--- 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(< + +

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 {

+ + + +
@@ -838,8 +843,16 @@ sub show_class_list {
ID $old{'id'} $sid
Section $old{'section'} $section

Role Information

-
Section $section
Start Time $displayable_starttime
End Time $displayable_endtime
@@ -1095,7 +1128,10 @@ END } $r->print(<

-Modify another students data + + + +Modify another students data END return; @@ -1164,8 +1200,10 @@ which describes the order elements are s sub show_drop_list { my ($r,$classlist,$keylist,$nosort)=@_; my $cid=$ENV{'request.course.id'}; - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['sortby']); + if (! exists($ENV{'form.sortby'})) { + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['sortby']); + } my $sortby = $ENV{'form.sortby'}; if ($sortby !~ /^(username|domain|section|fullname|id)$/) { $sortby = 'username'; @@ -1491,14 +1529,14 @@ sub drop_student_list { my $result = &modifystudent($udom,$uname,$ENV{'request.course.id'}); if ($result eq 'ok' || $result eq 'ok:') { $r->print('Dropped '.$uname.' @ '.$udom.'
'); + $count++; } else { $r->print('Error dropping '.$uname.' @ '.$udom.': '.$result. '
'); } - $count++; } $r->print('

Dropped '.$count.' student(s).'); - $r->print('

Re-enrollment will re-activate data.'); + $r->print('

Re-enrollment will re-activate data.') if ($count); } ###################################################################