--- loncom/interface/selfenroll.pm 2008/06/23 15:52:52 1.5 +++ loncom/interface/selfenroll.pm 2008/06/30 17:04:11 1.6 @@ -1,7 +1,7 @@ # The LearningOnline Network # Allow users to self-enroll in a course # -# $Id: selfenroll.pm,v 1.5 2008/06/23 15:52:52 bisitz Exp $ +# $Id: selfenroll.pm,v 1.6 2008/06/30 17:04:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -280,9 +280,12 @@ sub process_self_enroll { my %userhash = &Apache::lonnet::userenvironment($udom,$uname,@info); my ($enrolltypes,$longtypes,$alldoms) = &get_selfenroll_filters($selfenroll_types,$udom); - my @inststatuses = &unescape(split(/:/,$userhash{'inststatus'})); - if (@inststatuses == 0) { - push(@inststatuses,'other'); + my @inststatuses; + if ($userhash{'inststatus'} eq '') { + push(@inststatuses,'other'); + } else { + my @esc_statuses = split(/:/,$userhash{'inststatus'}); + @inststatuses = map { &unescape($_); } (@esc_statuses); } my $selfenroll = 0; if ($alldoms) { @@ -310,7 +313,7 @@ sub process_self_enroll { my ($registered,$instsec,$message) = &check_registered($cdom,$cnum); $usec = $instsec; if (!$registered) { - $r->print(&mt('Self-enrollment is restricted to officially registered students.').'
'); + $r->print(&mt('Self-enrollment is restricted to students officially registered for this course.').'
'); if ($message) { $r->print($message); } else { @@ -321,7 +324,8 @@ sub process_self_enroll { } my $enrollresult = &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef, - undef,undef,$usec,$selfenroll_access_end,$selfenroll_access_start, 'manual',undef,$cdom.'_'.$cnum,$selfenroll); + undef,undef,$usec,$selfenroll_access_end,$selfenroll_access_start, + 'manual',undef,$cdom.'_'.$cnum,$selfenroll); if ($enrollresult eq 'ok') { my (%userroles,%newrole,%newgroups); my $role = 'st';