--- loncom/interface/Attic/londropadd.pm 2002/05/03 20:38:13 1.40 +++ loncom/interface/Attic/londropadd.pm 2002/05/06 17:48:57 1.41 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to drop and add students in courses # -# $Id: londropadd.pm,v 1.40 2002/05/03 20:38:13 matthew Exp $ +# $Id: londropadd.pm,v 1.41 2002/05/06 17:48:57 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -156,7 +156,8 @@ $upfile_select


Classlist

-

+

+


Drop students

@@ -735,20 +736,45 @@ sub menu_phase_two_view { $r->print("There are no students currently enrolled.\n"); } else { # Print out the available choices - &show_class_list($r,%currentlist); + &show_class_list($r,'view',%currentlist); + } +} + +# ============================================== view classlist +sub menu_phase_two_viewcsv { + my $r=shift; + my $cid=$ENV{'request.course.id'}; + my ($error,%currentlist)=&get_current_classlist + ($ENV{'course.'.$cid.'.domain'},$ENV{'course.'.$cid.'.num'}); + if (defined($error)) { + if ($error =~ /^No such file or directory/) { + $r->print("There are no students currently enrolled.\n"); + } else { + $r->print("
ERROR:$error
"); + } + } elsif (!defined(%currentlist)) { + $r->print("There are no students currently enrolled.\n"); + } else { + &show_class_list($r,'csv',%currentlist); } } # =================================================== Show student list to drop sub show_class_list { - my ($r,%currentlist)=@_; + my ($r,$mode,%currentlist)=@_; my $cid=$ENV{'request.course.id'}; - $r->print(<print(< END + } elsif ($mode eq 'csv') { + $r->print(<print(''); + $r->print( ($mode eq 'view' ? + '' :'')); } else { - $r->print(<<"END"); + if ($mode eq 'view') { + $r->print(<<"END"); @@ -773,9 +802,19 @@ END END + } elsif ($mode eq 'csv') { + $r->print($sname.','. + $sdom.','. + $reply{$sname}.','. + $info{'lastname'}.','. + $info{'firstname'}.','. + $info{'middlename'}.','. + $info{'generation'}.','. + $ssec."\n"); + } } } - $r->print('
usernamedomainID student namegenerationsection
'. - 'Internal error: unable to get environment '. - 'for '.$sname.' in domain '.$sdom.'
' :''). + 'Internal error: unable to get environment '. + 'for '.$sname.' in domain '.$sdom. + ( $mode eq 'view' ?'
$sname $sdom$ssec

'); + $r->print('
') if ($mode eq 'view'); } # =================================================== Show student list to drop @@ -1050,9 +1089,9 @@ sub handler { if (($ENV{'request.course.fn'}) && (&Apache::lonnet::allowed('cst',$ENV{'request.course.id'}))) { # Start page - $r->content_type('text/html'); + $r->content_type('text/html') if (! exists($ENV{'form.viewcsv'})); $r->send_http_header; - $r->print(&header()); + $r->print(&header()) if (! exists($ENV{'form.viewcsv'})); # Phase one, initial screen unless ($ENV{'form.phase'}) { &menu_phase_one($r); @@ -1075,6 +1114,8 @@ sub handler { &menu_phase_two_drop($r); } elsif ($ENV{'form.view'}) { &menu_phase_two_view($r); + } elsif ($ENV{'form.viewcsv'}) { + &menu_phase_two_viewcsv($r); } } # Phase three @@ -1092,7 +1133,7 @@ sub handler { &enroll_single_student($r); } # End - $r->print(''); + $r->print('') if (! exists($ENV{'form.viewcsv'})); } else { # Not in a course, or not allowed to modify parms $ENV{'user.error.msg'}=