--- loncom/interface/Attic/londropadd.pm 2001/02/14 12:29:25 1.11
+++ loncom/interface/Attic/londropadd.pm 2001/09/25 18:12:43 1.16
@@ -7,6 +7,7 @@
#
# (TeX Content Handler
#
+# YEAR=2000
# 05/29/00,05/30,10/11 Gerd Kortemeyer)
#
# 10/11,10/12,10/16 Gerd Kortemeyer)
@@ -15,7 +16,11 @@
# 12/08,12/12 Gerd Kortemeyer)
#
# 12/26,12/27,12/28,
-# 01/01/01,01/15,02/10,02/13,02/14 Gerd Kortemeyer
+# 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
package Apache::londropadd;
@@ -147,7 +152,7 @@ sub dropstudent {
if ($key=~/^$courseid(?:\/)*(\w+)*\_st$/) {
my $section=$1;
if ($key eq $courseid.'_st') { $section=''; }
- if ($section ne $csec) {
+ if (((!$section) && (!$csec)) || ($section ne $csec)) {
my ($dummy,$end,$start)=split(/\_/,
&Apache::lonnet::unescape($value));
my $now=time;
@@ -257,6 +262,10 @@ function verify(vf) {
return;
}
}
+ if (vf.login[2].checked) {
+ foundatype=1;
+ //An argument is not required
+ }
if (foundatype==0) {
alert('You need to set the login type');
return;
@@ -315,6 +324,7 @@ function flip(vf,tf) {
vf.login[1].checked=true;
vf.intpwd.value='';
vf.krbdom.value='';
+ vf.locarg.value='';
}
}
@@ -411,14 +421,14 @@ ENDPICK
'id:ID/Student Number','sec:Group/Section',
'ipwd:Initial Password');
$r->print('
');
- if (defined($sone{$i})) {
- $r->print($sone{$i}."\n");
+ if (defined($sone{$_})) {
+ $r->print($sone{$_}."\n");
}
- if (defined($stwo{$i})) {
- $r->print($stwo{$i}."\n");
+ if (defined($stwo{$_})) {
+ $r->print($stwo{$_}."\n");
}
- if (defined($sthree{$i})) {
- $r->print($sthree{$i}."\n");
+ if (defined($sthree{$_})) {
+ $r->print($sthree{$_}."\n");
}
$r->print(' | ');
$i++;
@@ -431,12 +441,22 @@ ENDPICK
Login Type
-
+Note: this will not take effect if the user already exists
+
+
Kerberos authenticated with domain
-
-
+
+
+
+
Internally authenticated (with initial password
-)
+)
+
+
+
+Local Authentication with argument
+
+
LON-CAPA Domain for Students
LON-CAPA domain:
Starting and Ending Dates
@@ -460,6 +480,44 @@ Note: for large courses, this operation
ENDPICK
}
+# ======================================================= Enroll single student
+
+sub enroll_single_student {
+ my $r=shift;
+ $r->print('Enrolling Student
');
+ if (($ENV{'form.cuname'})&&($ENV{'form.cuname'}!~/\W/)&&
+ ($ENV{'form.cdomain'})&&($ENV{'form.cdomain'}!~/\W/)) {
+ my $amode='';
+ my $genpwd='';
+ if ($ENV{'form.login'} eq 'krb') {
+ $amode='krb4';
+ $genpwd=$ENV{'form.krbdom'};
+ } elsif ($ENV{'form.login'} eq 'int') {
+ $amode='internal';
+ $genpwd=$ENV{'form.intpwd'};
+ } elsif ($ENV{'form.login'} eq 'loc') {
+ $amode='localauth';
+ $genpwd=$ENV{'form.locarg'};
+ if (!$genpwd) { $genpwd=" "; }
+ }
+ if (($amode) && ($genpwd)) {
+ &dropstudent($ENV{'form.cdomain'},$ENV{'form.cuname'},
+ $ENV{'request.course.id'},$ENV{'form.csec'});
+ $r->print(&Apache::lonnet::modifystudent(
+ $ENV{'form.cdomain'},$ENV{'form.cuname'},
+ $ENV{'form.cstid'},$amode,$genpwd,
+ $ENV{'form.cfirst'},$ENV{'form.cmiddle'},
+ $ENV{'form.clast'},$ENV{'form.cgen'},
+ $ENV{'form.csec'},$ENV{'form.enddate'},
+ $ENV{'form.startdate'}));
+ } else {
+ $r->print('Invalid login mode or password');
+ }
+ } else {
+ $r->print('Invalid username or domain');
+ }
+}
+
# ======================================================= Menu Phase Two Enroll
sub menu_phase_two_enroll {
@@ -475,8 +533,153 @@ sub menu_phase_two_enroll {
my $defdom=$r->dir_config('lonDefDomain');
$r->print(<Personal Data
+
+Personal Data
First Name:
Middle Name:
Last Name:
@@ -486,17 +689,22 @@ ID/Student Number:
-Initial password (if applicable):
+
Login Data
+Username:
+Domain:
+Note: login settings below will not take effect if the user already exists
-
Login Type
Kerberos authenticated with domain
Internally authenticated (with initial password
)
-
LON-CAPA Domain for Students
-LON-CAPA domain:
+
+
+Local Authentication with argument
+
+
Starting and Ending Dates
@@ -510,6 +718,8 @@ LON-CAPA domain: Set Ending Date
+
+
ENDSENROLL
}
@@ -605,7 +815,12 @@ sub upfile_drop_add {
if ((defined($ENV{'form.intpwd'})) && ($ENV{'form.intpwd'})) {
$genpwd=$ENV{'form.intpwd'};
}
- }
+ } elsif ($ENV{'form.login'} eq 'loc') {
+ $amode='localauth';
+ if ((defined($ENV{'form.locarg'})) && ($ENV{'form.locarg'})) {
+ $genpwd=$ENV{'form.locarg'};
+ }
+ }
unless (($domain=~/\W/) || ($amode eq '')) {
$r->print('
Enrolling Students
');
my $count=0;
@@ -800,6 +1015,10 @@ sub handler {
if ($ENV{'form.phase'} eq 'four') {
&drop_student_list($r);
}
+# ------------------------------------------------------------------ Phase four
+ if ($ENV{'form.phase'} eq 'five') {
+ &enroll_single_student($r);
+ }
# ------------------------------------------------------------------------- End
$r->print('