--- loncom/interface/Attic/londropadd.pm 2001/02/13 21:24:18 1.10 +++ loncom/interface/Attic/londropadd.pm 2001/02/14 12:29:25 1.11 @@ -15,7 +15,7 @@ # 12/08,12/12 Gerd Kortemeyer) # # 12/26,12/27,12/28, -# 01/01/01,01/15,02/10,02/13 Gerd Kortemeyer +# 01/01/01,01/15,02/10,02/13,02/14 Gerd Kortemeyer package Apache::londropadd; @@ -189,8 +189,8 @@ sub menu_phase_one {
+
ENDUPFORM } @@ -454,7 +454,7 @@ LON-CAPA domain: Set Ending Date
+(also print list of users not enrolled anymore)
+
+ID/Student Number:
+
+Group/Section:
+
+Initial password (if applicable):
+
+
+
+Internally authenticated (with initial password
+)
+
+
+ENDSENROLL
}
# ========================================================= Menu Phase Two Drop
sub menu_phase_two_drop {
my $r=shift;
+ my $cid=$ENV{'request.course.id'};
+ my $classlst=&Apache::lonnet::reply
+ ('dump:'.$ENV{'course.'.$cid.'.domain'}.':'.
+ $ENV{'course.'.$cid.'.num'}.':classlist',
+ $ENV{'course.'.$cid.'.home'});
+ my %currentlist=();
+ my $now=time;
+ unless ($classlst=~/^error\:/) {
+ map {
+ my ($name,$value)=split(/\=/,$_);
+ my ($end,$start)=split(/\:/,
+ &Apache::lonnet::unescape($value));
+ my $active=1;
+ if (($end) && ($now>$end)) { $active=0; }
+ if ($active) {
+ $currentlist{&Apache::lonnet::unescape($name)}=1;
+ }
+ } split(/\&/,$classlst);
+# ----------------------------------------------------------- Print out choices
+ &show_drop_list($r,%currentlist);
+ } else {
+ $r->print(
+ ' Dropped '.$count.' student(s).');
+ $r->print(' Re-enrollment will re-activate data.');
+}
+
# ================================================================ Main Handler
sub handler {
@@ -696,6 +796,10 @@ sub handler {
&upfile_drop_add($r);
}
}
+# ------------------------------------------------------------------ Phase four
+ if ($ENV{'form.phase'} eq 'four') {
+ &drop_student_list($r);
+ }
# ------------------------------------------------------------------------- End
$r->print('
Note: for large courses, this operation might be time consuming.
ENDPICK
@@ -464,19 +464,121 @@ ENDPICK
sub menu_phase_two_enroll {
my $r=shift;
+
+ $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/;
+ my $krbdefdom=$1;
+ $krbdefdom=~tr/a-z/A-Z/;
+
+ my $today=time;
+ my $halfyear=$today+15552000;
+
+ my $defdom=$r->dir_config('lonDefDomain');
+
+ $r->print(<
+Middle Name:
+Last Name:
+Generation: Login Type
+
+Kerberos authenticated with domain
+LON-CAPA Domain for Students
+LON-CAPA domain: Starting and Ending Dates
+
+
+
+
+
+Set Starting DateCould not access classlist: '.$classlst.
+ '
');
+ }
+}
+
+# =================================================== Show student list to drop
+
+sub show_drop_list {
+ my ($r,%currentlist)=@_;
+ my $cid=$ENV{'request.course.id'};
+
+ $r->print('');
+ $r->print('');
+ map {
+ my ($sname,$sdom)=split(/\:/,$_);
+ my %reply=&Apache::lonnet::idrget($sdom,$sname);
+ my $ssec=&Apache::lonnet::usection($sdom,$sname,$cid);
+ my @reply=split(/[\&\=]/,&Apache::lonnet::reply(
+ 'get:'.$sdom.':'.$sname.
+ ':environment:firstname&middlename&lastname&generation',
+ &Apache::lonnet::homeserver($sname,$sdom)));
+ $r->print(
+ '
\n");
+ } sort keys %currentlist;
+ $r->print(''.
+ $sname.' '.$sdom.' '.
+ $reply{$sname}.' '.
+ &Apache::lonnet::unescape($reply[2]).' '.
+ &Apache::lonnet::unescape($reply[3]).', '.
+ &Apache::lonnet::unescape($reply[0]).' '.
+ &Apache::lonnet::unescape($reply[1]).
+ ' '.
+ $ssec."
');
+ $r->print('');
}
# ================================================= Drop/Add from uploaded file
sub upfile_drop_add {
my $r=shift;
- $r->print('');
&load_tmp_file($r);
my @studentdata=&upfile_record_sep();
@@ -620,26 +722,7 @@ sub upfile_drop_add {
}
} @studentdata;
# ----------------------------------------------------------- Print out choices
- $r->print('');
- map {
- my ($sname,$sdom)=split(/\:/,$_);
- my %reply=&Apache::lonnet::idrget($sdom,$sname);
- my $ssec=&Apache::lonnet::usection($sdom,$sname,$cid);
- my @reply=split(/[\&\=]/,&Apache::lonnet::reply(
- 'get:'.$sdom.':'.$sname.
- ':environment:firstname&middlename&lastname&generation',
- &Apache::lonnet::homeserver($sname,$sdom)));
- $r->print(
- '
\n");
- } sort keys %currentlist;
- $r->print(''.
- $sname.' '.$sdom.' '.
- $reply{$sname}.' '.
- $reply[2].' '.$reply[3],', '.$reply[0].' '.
- $reply[1].' '.
- $ssec."
');
- $r->print('');
-
+ &show_drop_list($r,%currentlist);
} else {
$r->print(
'Could not access classlist: '.$classlst.
@@ -651,6 +734,23 @@ sub upfile_drop_add {
}
}
+# ================================================================== Phase four
+
+sub drop_student_list {
+ my $r=shift;
+ my $count=0;
+ map {
+ if ($_=~/^form\.drop\:/) {
+ my ($dummy,$uname,$udom)=split(/\:/,$_);
+ &dropstudent($udom,$uname,$ENV{'request.course.id'});
+ $r->print('Dropped '.$uname.' at '.$udom.'
');
+ $count++;
+ }
+ } keys %ENV;
+ $r->print('