--- loncom/interface/selfenroll.pm 2018/12/27 18:14:25 1.35 +++ loncom/interface/selfenroll.pm 2021/05/04 18:47:36 1.36 @@ -1,7 +1,7 @@ # The LearningOnline Network # Allow users to self-enroll in a course # -# $Id: selfenroll.pm,v 1.35 2018/12/27 18:14:25 raeburn Exp $ +# $Id: selfenroll.pm,v 1.36 2021/05/04 18:47:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -455,7 +455,7 @@ sub process_self_enroll { } if ($selfenroll_approval) { my $outcome = - &store_selfenroll_request($udom,$uname,$usec,$cdom,$cnum, + &store_selfenroll_request($r,$udom,$uname,$usec,$cdom,$cnum, $selfenroll_notifylist,$owner, $selfenroll_approval,$crstype,$lonhost,$handle); $r->print($outcome); @@ -535,7 +535,7 @@ sub user_can_selfenroll { } sub store_selfenroll_request { - my ($udom,$uname,$usec,$cdom,$cnum,$selfenroll_notifylist,$owner, + my ($r,$udom,$uname,$usec,$cdom,$cnum,$selfenroll_notifylist,$owner, $selfenroll_approval,$crstype,$lonhost,$handle) = @_; my $namespace = 'selfenrollrequests'; my $output; @@ -551,7 +551,7 @@ sub store_selfenroll_request { } if ($status eq 'pending') { my $token = $info{$cdom.'_'.$cnum}{'token'}; - my ($statusupdate,$pendingform) = &pending_selfenrollment_form($cdom,$cnum,$crstype,$token,$lonhost); + my ($statusupdate,$pendingform) = &pending_selfenrollment_form($r,$cdom,$cnum,$crstype,$token,$lonhost); if ($statusupdate eq 'pending') { $output .= $pendingform; } @@ -589,7 +589,7 @@ sub store_selfenroll_request { } $output = &mt('Your request for self-enrollment has been recorded.').'
'; if ($status eq 'pending') { - my ($statusupdate,$pendingform) = &pending_selfenrollment_form($cdom,$cnum,$crstype,$token,$lonhost); + my ($statusupdate,$pendingform) = &pending_selfenrollment_form($r,$cdom,$cnum,$crstype,$token,$lonhost); if ($statusupdate eq 'request') { $status = $statusupdate; } else { @@ -630,7 +630,7 @@ sub store_selfenroll_request { } sub pending_selfenrollment_form { - my ($cdom,$cnum,$crstype,$token,$lonhost) = @_; + my ($r,$cdom,$cnum,$crstype,$token,$lonhost) = @_; my ($status,$output); my $coursetype = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype); my %postvalues = ( @@ -667,6 +667,8 @@ sub pending_selfenrollment_form { my $hostname = &Apache::lonnet::hostname($lonhost); my $protocol = $Apache::lonnet::protocol{$lonhost}; $protocol = 'http' if ($protocol ne 'https'); + my $alias = &Apache::lonnet::use_proxy_alias($r,$lonhost); + $hostname = $alias if ($alias ne ''); my $enroller = $protocol.'://'.$hostname.'/cgi-bin/enrollqueued.pl'; $output .= ''."\n". ''."\n".