--- loncom/interface/Attic/londropadd.pm 2002/05/01 20:15:41 1.36
+++ loncom/interface/Attic/londropadd.pm 2002/09/17 15:52:44 1.50
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
-# $Id: londropadd.pm,v 1.36 2002/05/01 20:15:41 albertel Exp $
+# $Id: londropadd.pm,v 1.50 2002/09/17 15:52:44 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,49 +31,35 @@
#
# (TeX Content Handler
#
-# YEAR=2000
-# 05/29/00,05/30,10/11 Gerd Kortemeyer)
-#
-# 10/11,10/12,10/16 Gerd Kortemeyer)
-#
-# 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28,
-# 12/08,12/12 Gerd Kortemeyer)
-#
-# 12/26,12/27,12/28,
-# YEAR=2001
-# 01/01/01,01/15,02/10,02/13,02/14,02/22 Gerd Kortemeyer
-# 8/6 Scott Harrison
-# Guy Albertelli
-# 9/25 Gerd Kortemeyer
-# 12/19 Guy Albertelli
-# YEAR=2002
-# 1/4 Gerd Kortemeyer
+###############################################################
+###############################################################
package Apache::londropadd;
use strict;
use Apache::lonnet();
use Apache::loncommon();
+use Apache::lonhtmlcommon();
use Apache::Constants qw(:common :http REDIRECT);
-# ================================================================ Print header
-
+###############################################################
+###############################################################
sub header {
+ my $bodytag=&Apache::loncommon::bodytag('Enrollment Manager');
return(<
-
Drop/Add Students
-
$locform
-
Group/Section: +
+ + + + + +
+
+ID/Student Number: +
Disable ID/Student Number Safeguard and Force Change of Conflicting IDs -(only do if you know what you are doing)
-
-
+(only do if you know what you are doing)
+
+
-ENDSENROLL +END + return; } # =================================================== get the current classlist @@ -687,6 +746,7 @@ sub get_current_classlist { } return (undef,%currentlist); } else { + $tmp =~ s/^error://; return ($tmp,undef); } } @@ -694,13 +754,17 @@ sub get_current_classlist { # ========================================================= Menu Phase Two Drop sub menu_phase_two_drop { my $r=shift; + $r->print("ERROR:$error'); - } - if (!defined(%currentlist)) { + 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 { # Print out the available choices @@ -708,11 +772,302 @@ sub menu_phase_two_drop { } } +# ============================================== view classlist +sub print_html_classlist { + my $r=shift; + $r->print(<
ERROR:$error"); + } + } elsif (!defined(%currentlist)) { + $r->print("There are no students currently enrolled.\n"); + } else { + # Print out the available choices + if ($ENV{'form.action'} eq 'modifystudent') { + &show_class_list($r,'view','modify',%currentlist); + } else { + &show_class_list($r,'view','aboutme',%currentlist); + } + } +} + +# ============================================== view classlist +sub print_csv_classlist { + 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','nolink',%currentlist); + } +} + +# =================================================== Show student list to drop +sub show_class_list { + my ($r,$mode,$linkto,%currentlist)=@_; + my $cid=$ENV{'request.course.id'}; + # Print out header + if ($mode eq 'view') { + if ($linkto eq 'aboutme') { + $r->print('Select a user name to view the users page.'); + } elsif ($linkto eq 'modify') { + $r->print('Select a user name to modify the students information'); + } + $r->print(<
username | domain | ID | +student name | generation | section |
---|---|---|---|---|---|
'. + 'Internal error: unable to get environment '. + 'for '.$sname.' in domain '.$sdom.' | |||||
\n "); + if ($linkto eq 'nothing') { + $r->print($sname); + } elsif ($linkto eq 'aboutme') { + $r->print(&Apache::loncommon::aboutmewrapper($sname,$sname, + $sdom)); + } elsif ($linkto eq 'modify') { + $r->print(''.$sname."\n"); + } + $r->print(<<"END"); + | +$sdom | +$reply{$sname} | +$info{'lastname'}, $info{'firstname'} $info{'middlename'} | +$info{'generation'} | +$ssec | +
'. + 'Unable to retrieve environment data for '.$sname. + 'in domain '.$sdom.'
'. + 'Please contact your LON-CAPA administrator '. + 'regarding this situation.