[LON-CAPA-cvs] cvs: loncom /interface loncreateuser.pm
www
lon-capa-cvs@mail.lon-capa.org
Sat, 10 May 2003 23:06:53 -0000
www Sat May 10 19:06:53 2003 EDT
Modified files:
/loncom/interface loncreateuser.pm
Log:
Calls to rolesdel to completely delete a role.
Index: loncom/interface/loncreateuser.pm
diff -u loncom/interface/loncreateuser.pm:1.52 loncom/interface/loncreateuser.pm:1.53
--- loncom/interface/loncreateuser.pm:1.52 Wed Apr 30 11:49:45 2003
+++ loncom/interface/loncreateuser.pm Sat May 10 19:06:52 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.52 2003/04/30 15:49:45 matthew Exp $
+# $Id: loncreateuser.pm,v 1.53 2003/05/10 23:06:52 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -46,7 +46,7 @@
# 05/10,10/16 Gerd Kortemeyer
# 02/11/02 Matthew Hall
#
-# $Id: loncreateuser.pm,v 1.52 2003/04/30 15:49:45 matthew Exp $
+# $Id: loncreateuser.pm,v 1.53 2003/05/10 23:06:52 www Exp $
###
package Apache::loncreateuser;
@@ -254,7 +254,7 @@
foreach ('firstname','middlename','lastname','generation') {
if (&Apache::lonnet::allowed('mau',$ccdomain)) {
$r->print(<<"END");
-<td><input type="text" name="c$_" value="$userenv{$_}" size="15"/></td>
+<td><input type="text" name="c$_" value="$userenv{$_}" size="15" /></td>
END
} else {
$r->print('<td>'.$userenv{$_}.'</td>');
@@ -272,7 +272,7 @@
<hr />
<h3>Revoke Existing Roles</h3>
<table border=2>
-<tr><th>Revoke</th><th>Role</th><th>Extent</th><th>Start</th><th>End</th>
+<tr><th>Revoke</th><th>Delete</th><th>Role</th><th>Extent</th><th>Start</th><th>End</th>
END
foreach my $area (keys(%rolesdump)) {
next if ($area =~ /^rolesdef/);
@@ -283,19 +283,26 @@
split(/_/,$role);
my $bgcol='ffffff';
my $allowed=0;
+ my $delallowed=0;
if ($area =~ /^\/(\w+)\/(\d\w+)/ ) {
my %coursedata=
&Apache::lonnet::coursedescription($1.'_'.$2);
my $carea;
if (defined($coursedata{'description'})) {
- $carea='Course: '.$coursedata{'description'};
+ $carea='Course: '.$coursedata{'description'}.
+ '<br />Domain: '.$1;
} else {
$carea='Unavailable course: '.$area;
}
$inccourses{$1.'_'.$2}=1;
- if (&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) {
+ if ((&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) ||
+ (&Apache::lonnet::allowed('c'.$role_code,$ccdomain))) {
$allowed=1;
}
+ if ((&Apache::lonnet::allowed('dro',$1)) ||
+ (&Apache::lonnet::allowed('dro',$ccdomain))) {
+ $delallowed=1;
+ }
# Compute the background color based on $area
$bgcol=$1.'_'.$2;
$bgcol=~s/[^8-9b-e]//g;
@@ -307,9 +314,15 @@
} else {
# Determine if current user is able to revoke privileges
if ($area=~ /^\/(\w+)\//) {
- if (&Apache::lonnet::allowed('c'.$role_code,$1)) {
+ if ((&Apache::lonnet::allowed('c'.$role_code,$1)) ||
+ (&Apache::lonnet::allowed('c'.$role_code,$ccdomain))) {
$allowed=1;
}
+ if (((&Apache::lonnet::allowed('dro',$1)) ||
+ (&Apache::lonnet::allowed('dro',$ccdomain))) &&
+ ($role_code ne 'dc')) {
+ $delallowed=1;
+ }
} else {
if (&Apache::lonnet::allowed('c'.$role_code,'/')) {
$allowed=1;
@@ -333,6 +346,12 @@
} else {
$row.=' ';
}
+ $row.='</td><td>';
+ if ($delallowed) {
+ $row.= '<input type="checkbox" name="del:'.$thisrole.'">';
+ } else {
+ $row.=' ';
+ }
$row.= '</td><td>'.&Apache::lonnet::plaintext($role_code).
'</td><td>'.$area.
'</td><td>'.($role_start_time?localtime($role_start_time)
@@ -412,16 +431,7 @@
$authform_other="<p>$authformkrb</p>".
"<p>$authformint</p><p>$authformfsys</p>";
}
- $authformcurrent=<<ENDCURRENTAUTH;
-<table border='1'>
-<tr>
-<td><font color='#ff0000'>* * * WARNING * * *</font></td>
-<td><font color='#ff0000'>* * * WARNING * * *</font></td>
-</tr>
-<tr><td bgcolor='#cbbcbb'>$authformcurrent</td>
-<td bgcolor='#cbbcbb'>Changing this value will overwrite existing authentication for the user; you should notify the user of this change.</td></tr>
-</table>
-ENDCURRENTAUTH
+ $authformcurrent.=' <i>(will override current values)</i><br />';
if (&Apache::lonnet::allowed('mau',$ENV{'request.role.domain'})) {
# Current user has login modification privileges
$r->print(<<ENDOTHERAUTHS);
@@ -716,6 +726,24 @@
$r->print('Revoking '.$2.' in '.$1.': '.
&Apache::lonnet::assignrole($ENV{'form.ccdomain'},
$ENV{'form.ccuname'},$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.ccuname'}.':'.
+ $ENV{'form.ccdomain'}).'='.
+ &Apache::lonnet::escape($now.':'),
+ $ENV{'course.'.$cid.'.home'}).'<br>');
+ }
+ }
+ } elsif ($_=~/^form\.del/) {
+ if ($_=~/^form\.del\:([^\_]+)\_([^\_]+)$/) {
+ $r->print('Deleting '.$2.' in '.$1.': '.
+ &Apache::lonnet::assignrole($ENV{'form.ccdomain'},
+ $ENV{'form.ccuname'},$1,$2,$now,0,1).'<br>');
if ($2 eq 'st') {
$1=~/^\/(\w+)\/(\w+)/;
my $cid=$1.'_'.$2;