--- loncom/interface/Attic/londropadd.pm 2001/02/14 22:51:48 1.12 +++ 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('</select></td><td>'); - if (defined($sone{$i})) { - $r->print($sone{$i}."</br>\n"); + if (defined($sone{$_})) { + $r->print($sone{$_}."</br>\n"); } - if (defined($stwo{$i})) { - $r->print($stwo{$i}."</br>\n"); + if (defined($stwo{$_})) { + $r->print($stwo{$_}."</br>\n"); } - if (defined($sthree{$i})) { - $r->print($sthree{$i}."</br>\n"); + if (defined($sthree{$_})) { + $r->print($sthree{$_}."</br>\n"); } $r->print('</td></tr>'); $i++; @@ -431,13 +441,22 @@ ENDPICK <input type=hidden name=nfields value=$i> <input type=hidden name=keyfields value="$keyfields"> <h3>Login Type</h3> -Note: this will not take effect if the user already exists<p> -<input type=radio name=login value=krb onClick="clickkrb(this.form);"> +<p>Note: this will not take effect if the user already exists</p> +<p> +<input type=radio name=login value=krb onClick="clickkrb(this.form);" /> Kerberos authenticated with domain -<input type=text size=10 name=krbdom onChange="setkrb(this.form);"><p> -<input type=radio name=login value=int onClick="clickint(this.form);"> +<input type=text size=10 name=krbdom onChange="setkrb(this.form);" /> +</p> +<p> +<input type=radio name=login value=int onClick="clickint(this.form);" /> Internally authenticated (with initial password -<input type=text size=10 name=intpwd onChange="setint(this.form);">) +<input type=text size=10 name=intpwd onChange="setint(this.form);" />) +</p> +<p> +<input type=radio name=login value=loc onClick="clickloc(this.form);" /> +Local Authentication with argument +<input type=text size=10 name=locarg onChange="setloc(this.form);" /> +</p> <h3>LON-CAPA Domain for Students</h3> LON-CAPA domain: <input type=text size=10 value=$defdom name=lcdomain><p> <h3>Starting and Ending Dates</h3> @@ -476,7 +495,11 @@ sub enroll_single_student { } 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'}); @@ -520,18 +543,18 @@ function verify(vf) { var foundatype=0; var tw; var message=''; - if ((vf.cuname.value!=undefined) && (vf.cuname.value!='') && - (vf.cdomain.value!=undefined) && (vf.cdomain.value!='')) { + if ((typeof(vf.cuname.value)!="undefined") && (vf.cuname.value!='') && + (typeof(vf.cdomain.value)!="undefined") && (vf.cdomain.value!='')) { founduname=1; } - if ((vf.cfirst.value!=undefined) && (vf.cfirst.value!='') && - (vf.clast.value!=undefined) && (vf.clast.value!='')) { + if ((typeof(vf.cfirst.value)!="undefined") && (vf.cfirst.value!='') && + (typeof(vf.clast.value)!="undefined") && (vf.clast.value!='')) { foundname=1; } - if ((vf.csec.value!=undefined) && (vf.csec.value!='')) { + if ((typeof(vf.csec.value)!="undefined") && (vf.csec.value!='')) { foundsec=1; } - if ((vf.cstid.value!=undefined) && (vf.cstid.value!='')) { + if ((typeof(vf.cstid.value)!="undefined") && (vf.cstid.value!='')) { foundid=1; } if (founduname==0) { @@ -552,6 +575,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; @@ -588,6 +615,7 @@ function setkrb(vf) { vf.login[0].checked=true; vf.krbdom.value=vf.krbdom.value.toUpperCase(); vf.intpwd.value=''; + vf.locarg.value=''; } } @@ -595,16 +623,32 @@ function setint(vf) { if (vf.intpwd.value!='') { vf.login[1].checked=true; vf.krbdom.value=''; + vf.locarg.value=''; + } +} + +function setloc(vf) { + if (vf.locarg.value!='') { + vf.login[2].checked=true; + vf.krbdom.value=''; + vf.intpwd.value=''; } } function clickkrb(vf) { vf.krbdom.value='$krbdefdom'; vf.intpwd.value=''; + vf.locarg.value=''; } function clickint(vf) { vf.krbdom.value=''; + vf.locarg.value=''; +} + +function clickloc(vf) { + vf.krbdom.value=''; + vf.intpwd.value=''; } function pclose() { @@ -656,7 +700,11 @@ Kerberos authenticated with domain <input type=radio name=login value=int onClick="clickint(this.form);"> Internally authenticated (with initial password <input type=text size=10 name=intpwd onChange="setint(this.form);">) - +<p> +<input type=radio name=login value=loc onClick="clickloc(this.form);" /> +Local Authentication with argument +<input type=text size=10 name=locarg onChange="setloc(this.form);" /> +</p> <h3>Starting and Ending Dates</h3> <input type="hidden" value='' name="pres_value"> <input type="hidden" value='' name="pres_type"> @@ -767,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('<h3>Enrolling Students</h3>'); my $count=0;