--- loncom/interface/loncreateuser.pm 2001/03/17 15:42:24 1.8 +++ loncom/interface/loncreateuser.pm 2001/05/10 21:13:04 1.17 @@ -16,7 +16,9 @@ # # 2/14 Gerd Kortemeyer) # -# 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2,3/17 Gerd Kortemeyer +# 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2,3/17,3/24,04/12 Gerd Kortemeyer +# April Guy Albertelli +# 05/10 Gerd Kortemeyer # package Apache::loncreateuser; @@ -108,7 +110,9 @@ ENDENHEAD my $uhome=&Apache::lonnet::homeserver($ccuname,$ccdomain); my %incdomains; my %inccourses; - $incdomains{$ENV{'user.domain'}}=1; + map { + $incdomains{$_}=1; + } values %Apache::lonnet::hostdom; map { if ($_=~/^user\.priv\.cm\.\/(\w+)\/(\w+)/) { $inccourses{$1.'_'.$2}=1; @@ -194,7 +198,6 @@ ENDNUSER $area=$carea; } else { if ($area=~/^\/(\w+)\//) { - $incdomains{$1}=1; if (&Apache::lonnet::allowed('c'.$trole,$1)) { $allows=1; } @@ -228,7 +231,32 @@ ENDNUSER $r->print('</table>'); } } - $r->print('<hr><h3>Add Roles</h3><h4>System Level</h4>'); + $r->print('<hr><h3>Add Roles</h3>'); +# +# Co-Author +# + + if (&Apache::lonnet::allowed('cca',$ENV{'user.domain'})) { + my $cuname=$ENV{'user.name'}; + my $cudom=$ENV{'user.domain'}; + $r->print(<<ENDCOAUTH); +<h4>Construction Space</h4> +<table border=2><tr><th>Activate</th><th>Role</th><th>Extent</th> +<th>Start</th><th>End</th></tr> +<tr> +<td><input type=checkbox name="act_$cudom\_$cuname\_ca"></td> +<td>Co-Author</td> +<td>$cudom\_$cuname</td> +<td><input type=hidden name="start_$cudom\_$cuname\_ca" value=''> +<a href= +"javascript:pjump('date_start','Start Date Co-Author',document.cu.start_$cudom\_$cuname\_ca.value,'start_$cudom\_$cuname\_ca','cu.pres','dateset')">Set Start Date</a></td> +<td><input type=hidden name="end_$cudom\_$cuname\_ca" value=''> +<a href= +"javascript:pjump('date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset')">Set End Date</a></td> +</tr> +</table> +ENDCOAUTH + } # # Domain level # @@ -254,7 +282,7 @@ ENDNUSER </tr> ENDDROW } - } ('dc','cc','li','dg','au'); + } ('dc','li','dg','au'); } sort keys %incdomains; $r->print('</table>'); # @@ -265,6 +293,8 @@ ENDDROW '<th>Group/Section</th><th>Start</th><th>End</th></tr>'); map { my $thiscourse=$_; + my $protectedcourse=$_; + $thiscourse=~s:_:/:g; my %coursedata=&Apache::lonnet::coursedescription($thiscourse); my $area=$coursedata{'description'}; my $bgcol=$thiscourse; @@ -273,23 +303,26 @@ ENDDROW map { if (&Apache::lonnet::allowed('c'.$_,$thiscourse)) { my $plrole=&Apache::lonnet::plaintext($_); - $r->print(<<ENDROW); + $r->print(" <tr bgcolor=#$bgcol> -<td><input type=checkbox name="act_$thiscourse\_$_"></td> +<td><input type=checkbox name=\"act_$protectedcourse\_$_\"></td> <td>$plrole</td> <td>$area</td> -<td><input type=text size=5 name="sec_$thiscourse\_$_"></td> -<td><input type=hidden name="start_$thiscourse\_$_" value=''> +<td>"); + if ($_ ne 'cc') { + $r->print("<input type=text size=5 name=\"sec_$protectedcourse\_$_\">"); + } else { $r->print(" "); } + $r->print(<<ENDROW); +<td><input type=hidden name="start_$protectedcourse\_$_" value=''> <a href= -"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$thiscourse\_$_.value,'start_$thiscourse\_$_','cu.pres','dateset')">Set Start Date</a></td> -<td><input type=hidden name="end_$thiscourse\_$_" value=''> +"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$protectedcourse\_$_.value,'start_$protectedcourse\_$_','cu.pres','dateset')">Set Start Date</a></td> +<td><input type=hidden name="end_$protectedcourse\_$_" value=''> <a href= -"javascript:pjump('date_end','End Date $plrole',document.cu.end_$thiscourse\_$_.value,'end_$thiscourse\_$_','cu.pres','dateset')">Set End Date</a></td> +"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$_.value,'end_$protectedcourse\_$_','cu.pres','dateset')">Set End Date</a></td> </tr> ENDROW - } - } ('st','ta','ep','ad','in'); + } ('st','ta','ep','ad','in','cc'); } sort keys %inccourses; $r->print('</table>'); $r->print('<input type=submit value="Modify User">'); @@ -346,6 +379,17 @@ ENDTHREEHEAD $r->print('Revoking '.$2.' in '.$1.': '. &Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'}, $1,$2,$now).'<br>'); + if ($2 eq 'st') { + $1=~/^\/(\w+)\/(\w+)/; + my $cid=$1.'_'.$2; + $r->print('Drop from classlist: '. + &Apache::lonnet::critical('put:'.$ENV{'course.'.$cid.'.domain'}.':'. + $ENV{'course.'.$cid.'.num'}.':classlist:'. + &Apache::lonnet::escape($ENV{'form.cuname'}.':'. + $ENV{'form.cdomain'}).'='. + &Apache::lonnet::escape($now.':'), + $ENV{'course.'.$cid.'.home'}).'<br>'); + } } } keys %ENV; map { @@ -365,6 +409,17 @@ ENDTHREEHEAD $r->print('Assigning: '.$3.' in '.$url.': '. &Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'}, $url,$3,$end,$start).'<br>'); + if ($3 eq 'st') { + $url=~/^\/(\w+)\/(\w+)/; + my $cid=$1.'_'.$2; + $r->print('Add to classlist: '. + &Apache::lonnet::critical('put:'.$ENV{'course.'.$cid.'.domain'}.':'. + $ENV{'course.'.$cid.'.num'}.':classlist:'. + &Apache::lonnet::escape($ENV{'form.cuname'}.':'. + $ENV{'form.cdomain'}).'='. + &Apache::lonnet::escape($end.':'.$start), + $ENV{'course.'.$cid.'.home'}).'<br>'); + } } elsif (($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) && ($ENV{$_})) { my $url='/'.$1.'/'; my $start=$now; @@ -410,7 +465,7 @@ sub handler { } } else { $ENV{'user.error.msg'}= - "/adm/createcourse:mau:0:0:Cannot modify user data"; + "/adm/createuser:mau:0:0:Cannot modify user data"; return HTTP_NOT_ACCEPTABLE; } return OK;