--- loncom/interface/loncreateuser.pm 2001/03/17 15:06:57 1.7
+++ loncom/interface/loncreateuser.pm 2001/04/25 20:33:26 1.16
@@ -16,7 +16,7 @@
#
# 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
#
package Apache::loncreateuser;
@@ -108,7 +108,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 +196,6 @@ ENDNUSER
$area=$carea;
} else {
if ($area=~/^\/(\w+)\//) {
- $incdomains{$1}=1;
if (&Apache::lonnet::allowed('c'.$trole,$1)) {
$allows=1;
}
@@ -228,21 +229,45 @@ ENDNUSER
$r->print('');
}
}
- $r->print('
Add Roles System Level ');
- $r->print('Domain Level ');
+ $r->print('Add Roles ');
+#
+# Domain level
+#
+ $r->print('Domain Level '.
+ '');
+#
+# Course level
+#
$r->print('Course Level '.
'Activate Role Extent '.
'Group/Section Start End ');
map {
my $thiscourse=$_;
+ my $protectedcourse=$_;
+ $thiscourse=~s:_:/:g;
my %coursedata=&Apache::lonnet::coursedescription($thiscourse);
my $area=$coursedata{'description'};
my $bgcol=$thiscourse;
@@ -251,23 +276,26 @@ ENDNUSER
map {
if (&Apache::lonnet::allowed('c'.$_,$thiscourse)) {
my $plrole=&Apache::lonnet::plaintext($_);
- $r->print(<print("
-
+
$plrole
$area
-
-
+");
+ if ($_ ne 'cc') {
+ $r->print(" ");
+ } else { $r->print(" "); }
+ $r->print(<
Set Start Date
-
+"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$protectedcourse\_$_.value,'start_$protectedcourse\_$_','cu.pres','dateset')">Set Start Date
+
Set End Date
+"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$_.value,'end_$protectedcourse\_$_','cu.pres','dateset')">Set End Date
ENDROW
-
}
- } ('st','ta','ep','ad','in');
+ } ('st','ta','ep','ad','in','cc');
} sort keys %inccourses;
$r->print('
');
$r->print(' ');
@@ -324,6 +352,17 @@ ENDTHREEHEAD
$r->print('Revoking '.$2.' in '.$1.': '.
&Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'},
$1,$2,$now).' ');
+ 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'}).' ');
+ }
}
} keys %ENV;
map {
@@ -343,7 +382,31 @@ ENDTHREEHEAD
$r->print('Assigning: '.$3.' in '.$url.': '.
&Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'},
$url,$3,$end,$start).' ');
- }
+ 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'}).' ');
+ }
+ } elsif (($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) && ($ENV{$_})) {
+ my $url='/'.$1.'/';
+ my $start=$now;
+ if ($ENV{'form.start_'.$1.'_'.$2}) {
+ $start=$ENV{'form.start_'.$1.'_'.$2};
+ }
+ my $end=0;
+ if ($ENV{'form.end_'.$1.'_'.$2}) {
+ $end=$ENV{'form.end_'.$1.'_'.$2};
+ }
+ $r->print('Assigning: '.$2.' in '.$url.': '.
+ &Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'},
+ $url,$2,$end,$start).' ');
+ }
} keys %ENV;
$r->print('