--- loncom/interface/Attic/londropadd.pm 2001/02/14 12:29:25 1.11
+++ loncom/interface/Attic/londropadd.pm 2002/01/04 15:56:07 1.18
@@ -1,12 +1,37 @@
# The LearningOnline Network with CAPA
# Handler to drop and add students in courses
#
+# $Id: londropadd.pm,v 1.18 2002/01/04 15:56:07 www Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# (Handler to set parameters for assessments
#
# (Handler to resolve ambiguous file locations
#
# (TeX Content Handler
#
+# YEAR=2000
# 05/29/00,05/30,10/11 Gerd Kortemeyer)
#
# 10/11,10/12,10/16 Gerd Kortemeyer)
@@ -15,7 +40,14 @@
# 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
+# 12/19 Guy Albertelli
+# YEAR=2002
+# 1/4 Gerd Kortemeyer
package Apache::londropadd;
@@ -147,7 +179,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 +289,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 +351,7 @@ function flip(vf,tf) {
vf.login[1].checked=true;
vf.intpwd.value='';
vf.krbdom.value='';
+ vf.locarg.value='';
}
}
@@ -411,14 +448,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 +468,22 @@ ENDPICK
Login Type
-
+
Note: this will not take effect if the user already exists
@@ -455,11 +502,53 @@ LON-CAPA domain: Full Update
Full update
(also print list of users not enrolled anymore)
+
ID/Student Number
+
+Disable ID/Student Number Safeguard and Force Change of Conflicting IDs
+(only do if you know what you are doing)
Note: for large courses, this operation might be time consuming.
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 +564,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 +720,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