version 1.296, 2002/10/10 14:34:05
|
version 1.297, 2002/10/14 15:33:26
|
Line 2320 sub modifystudent {
|
Line 2320 sub modifystudent {
|
($udom,$uname,$uid,$umode,$upass,$first,$middle,$last,$gene,$forceid, |
($udom,$uname,$uid,$umode,$upass,$first,$middle,$last,$gene,$forceid, |
$desiredhome); |
$desiredhome); |
unless ($reply eq 'ok') { return $reply; } |
unless ($reply eq 'ok') { return $reply; } |
|
# This will cause &modify_student_enrollment to get the uid from the |
|
# students environment |
|
$uid = undef if (!$forceid); |
|
$reply = &modify_student_enrollment($udom,$uname,$uid,$first,$middle, |
|
$last,$gene,$usec,$end,$start); |
|
return $reply; |
|
} |
|
|
|
sub modify_student_enrollment { |
|
my ($udom,$uname,$uid,$first,$middle,$last,$gene,$usec,$end,$start) = @_; |
|
# Get the course id from the environment |
|
my $cid=''; |
|
unless ($cid=$ENV{'request.course.id'}) { |
|
return 'not_in_class'; |
|
} |
|
# Make sure the user exists |
my $uhome=&homeserver($uname,$udom); |
my $uhome=&homeserver($uname,$udom); |
if (($uhome eq '') || ($uhome eq 'no_host')) { |
if (($uhome eq '') || ($uhome eq 'no_host')) { |
return 'error: no such user'; |
return 'error: no such user'; |
} |
} |
# -------------------------------------------------- Add student to course list |
# |
if ($first eq '' || $last eq '' || $uid eq '') { |
# Get student data if we were not given enough information |
|
if (!defined($first) || $first eq '' || |
|
!defined($last) || $last eq '' || |
|
!defined($uid) || $uid eq '' || |
|
!defined($middle) || $middle eq '' || |
|
!defined($gene) || $gene eq '') { |
# They did not supply us with enough data to enroll the student, so |
# They did not supply us with enough data to enroll the student, so |
# we need to pick up more information. |
# we need to pick up more information. |
my %tmp = &dump('environment',$udom,$uname, |
my %tmp = &get('environment', |
['firstname','middlename','lastname', 'generation','id'] |
['firstname','middlename','lastname', 'generation','id'] |
); |
,$udom,$uname); |
|
|
|
foreach (keys(%tmp)) { |
|
&logthis("key $_ = ".$tmp{$_}); |
|
} |
$first = $tmp{'firstname'} if (!defined($first) || $first eq ''); |
$first = $tmp{'firstname'} if (!defined($first) || $first eq ''); |
$middle = $tmp{'middlename'} if (!defined($middle) || $middle eq ''); |
$middle = $tmp{'middlename'} if (!defined($middle) || $middle eq ''); |
$last = $tmp{'lastname'} if (!defined($last) || $last eq ''); |
$last = $tmp{'lastname'} if (!defined($last) || $last eq ''); |
$gene = $tmp{'genename'} if (!defined($gene) || $gene eq ''); |
$gene = $tmp{'generation'} if (!defined($gene) || $gene eq ''); |
$uid = $tmp{'id'} if (!defined($uid) || $uid eq ''); |
$uid = $tmp{'id'} if (!defined($uid) || $uid eq ''); |
} |
} |
my $fullname = &Apache::loncoursedata::ProcessFullName($last,$gene, |
my $fullname = &Apache::loncoursedata::ProcessFullName($last,$gene, |
$first,$middle); |
$first,$middle); |
$reply=critical('put:'.$ENV{'course.'.$cid.'.domain'}.':'. |
my $reply=critical('put:'.$ENV{'course.'.$cid.'.domain'}.':'. |
$ENV{'course.'.$cid.'.num'}.':classlist:'. |
$ENV{'course.'.$cid.'.num'}.':classlist:'. |
&escape($uname.':'.$udom).'='. |
&escape($uname.':'.$udom).'='. |
&escape(join(':',$end,$start,$uid,$usec,$fullname)), |
&escape(join(':',$end,$start,$uid,$usec,$fullname)), |
Line 2347 sub modifystudent {
|
Line 2372 sub modifystudent {
|
unless (($reply eq 'ok') || ($reply eq 'delayed')) { |
unless (($reply eq 'ok') || ($reply eq 'delayed')) { |
return 'error: '.$reply; |
return 'error: '.$reply; |
} |
} |
# ---------------------------------------------------- Add student role to user |
# Add student role to user |
my $uurl='/'.$cid; |
my $uurl='/'.$cid; |
$uurl=~s/\_/\//g; |
$uurl=~s/\_/\//g; |
if ($usec) { |
if ($usec) { |
Line 3657 The course id is resolved based on the c
|
Line 3682 The course id is resolved based on the c
|
This means the envoking user must be a course coordinator or otherwise |
This means the envoking user must be a course coordinator or otherwise |
associated with a course. |
associated with a course. |
|
|
This call is essentially a wrapper for lonnet::modifyuser |
This call is essentially a wrapper for lonnet::modifyuser and |
|
lonnet::modify_student_enrollment |
|
|
Inputs: |
Inputs: |
|
|
Line 3695 Inputs:
|
Line 3721 Inputs:
|
|
|
=item * |
=item * |
|
|
|
modify_student_enrollment |
|
|
|
Change a students enrollment status in a class. The environment variable |
|
'role.request.course' must be defined for this function to proceed. |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
=item $udom, students domain |
|
|
|
=item $uname, students name |
|
|
|
=item $uid, students user id |
|
|
|
=item $first, students first name |
|
|
|
=item $middle |
|
|
|
=item $last |
|
|
|
=item $gene |
|
|
|
=item $usec |
|
|
|
=item $end |
|
|
|
=item $start |
|
|
|
=back |
|
|
|
|
|
=item * |
|
|
assigncustomrole($udom,$uname,$url,$rdom,$rnam,$rolename,$end,$start) : assign |
assigncustomrole($udom,$uname,$url,$rdom,$rnam,$rolename,$end,$start) : assign |
custom role; give a custom role to a user for the level given by URL. Specify |
custom role; give a custom role to a user for the level given by URL. Specify |
name and domain of role author, and role name |
name and domain of role author, and role name |