Diff for /loncom/interface/selfenroll.pm between versions 1.27.2.8 and 1.32

version 1.27.2.8, 2021/12/14 12:53:12 version 1.32, 2015/06/09 21:22:57
Line 350  sub enrollment_limit_check { Line 350  sub enrollment_limit_check {
 sub page_header {  sub page_header {
     my ($r,$courseid,$js,$desc) = @_;      my ($r,$courseid,$js,$desc) = @_;
     my $start_page =      my $start_page =
         &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course',$js,          &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course',$js);
                                        {'no_inline_link'   => 1,});  
     $r->print($start_page);      $r->print($start_page);
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     &Apache::createaccount::selfenroll_crumbs($r,$courseid,$desc);      &Apache::createaccount::selfenroll_crumbs($r,$courseid,$desc);
Line 439  sub process_self_enroll { Line 438  sub process_self_enroll {
         if ($selfenroll_section eq 'none') {          if ($selfenroll_section eq 'none') {
             $usec = '';              $usec = '';
         }          }
         my $instcid;  
         if ($selfenroll_registered) {          if ($selfenroll_registered) {
             my ($registered,$instsec,$instcid,$message) = &check_registered($cdom,$cnum);              my ($registered,$instsec,$message) = &check_registered($cdom,$cnum);
             $usec = $instsec;              $usec = $instsec;
             if (!$registered) {              if (!$registered) {
                 $r->print('<h3>'.&mt('Self-enrollment unavailable').'</h3>'.                  $r->print('<h3>'.&mt('Self-enrollment unavailable').'</h3>'.
Line 456  sub process_self_enroll { Line 454  sub process_self_enroll {
         }          }
         if ($selfenroll_approval) {          if ($selfenroll_approval) {
             my $outcome =               my $outcome = 
                 &store_selfenroll_request($r,$udom,$uname,$usec,$cdom,$cnum,                  &store_selfenroll_request($udom,$uname,$usec,$cdom,$cnum,
                                           $selfenroll_notifylist,$owner,                                            $selfenroll_notifylist,$owner,
                                           $selfenroll_approval,$crstype,$lonhost,$handle);                                            $selfenroll_approval,$crstype,$lonhost,$handle);
             $r->print($outcome);              $r->print($outcome);
Line 464  sub process_self_enroll { Line 462  sub process_self_enroll {
             my $enrollresult =               my $enrollresult = 
                 &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,                  &Apache::lonnet::modify_student_enrollment($udom,$uname,undef,undef,undef,
                         undef,undef,$usec,$selfenroll_access_end,$selfenroll_access_start,                          undef,undef,$usec,$selfenroll_access_end,$selfenroll_access_start,
                        'selfenroll',undef,$cdom.'_'.$cnum,$selfenroll,'selfenroll','',$instcid);                         'selfenroll',undef,$cdom.'_'.$cnum,$selfenroll);
             if ($enrollresult eq 'ok') {              if ($enrollresult eq 'ok') {
                 my (%userroles,%newrole,%newgroups);                  my (%userroles,%newrole,%newgroups);
                 my $role = 'st';                  my $role = 'st';
Line 536  sub user_can_selfenroll { Line 534  sub user_can_selfenroll {
 }  }
   
 sub store_selfenroll_request {  sub store_selfenroll_request {
     my ($r,$udom,$uname,$usec,$cdom,$cnum,$selfenroll_notifylist,$owner,      my ($udom,$uname,$usec,$cdom,$cnum,$selfenroll_notifylist,$owner,
         $selfenroll_approval,$crstype,$lonhost,$handle) = @_;          $selfenroll_approval,$crstype,$lonhost,$handle) = @_;
     my $namespace = 'selfenrollrequests';      my $namespace = 'selfenrollrequests';
     my $output;      my $output;
Line 552  sub store_selfenroll_request { Line 550  sub store_selfenroll_request {
         }          }
         if ($status eq 'pending') {          if ($status eq 'pending') {
             my $token = $info{$cdom.'_'.$cnum}{'token'};              my $token = $info{$cdom.'_'.$cnum}{'token'};
             my ($statusupdate,$pendingform) = &pending_selfenrollment_form($r,$cdom,$cnum,$crstype,$token,$lonhost);              my ($statusupdate,$pendingform) = &pending_selfenrollment_form($cdom,$cnum,$crstype,$token,$lonhost);
             if ($statusupdate eq 'pending') {              if ($statusupdate eq 'pending') {
                 $output .= $pendingform;                  $output .= $pendingform;
             }              }
Line 590  sub store_selfenroll_request { Line 588  sub store_selfenroll_request {
             }              }
             $output = &mt('Your request for self-enrollment has been recorded.').'<br />';              $output = &mt('Your request for self-enrollment has been recorded.').'<br />';
             if ($status eq 'pending') {              if ($status eq 'pending') {
                 my ($statusupdate,$pendingform) = &pending_selfenrollment_form($r,$cdom,$cnum,$crstype,$token,$lonhost);                  my ($statusupdate,$pendingform) = &pending_selfenrollment_form($cdom,$cnum,$crstype,$token,$lonhost);
                 if ($statusupdate eq 'request') {                  if ($statusupdate eq 'request') {
                     $status = $statusupdate;                      $status = $statusupdate;
                 } else {                  } else {
Line 631  sub store_selfenroll_request { Line 629  sub store_selfenroll_request {
 }  }
   
 sub pending_selfenrollment_form {  sub pending_selfenrollment_form {
     my ($r,$cdom,$cnum,$crstype,$token,$lonhost) = @_;      my ($cdom,$cnum,$crstype,$token,$lonhost) = @_;
     my ($status,$output);      my ($status,$output);
     my $coursetype = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype);      my $coursetype = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$crstype);
     my %postvalues = (      my %postvalues = (
Line 665  sub pending_selfenrollment_form { Line 663  sub pending_selfenrollment_form {
                 if ($buttontext eq '') {                  if ($buttontext eq '') {
                     $buttontext = &mt('Complete my enrollment');                      $buttontext = &mt('Complete my enrollment');
                 }                  }
                 my $hostname = &Apache::lonnet::hostname($lonhost);  
                 my $protocol = $Apache::lonnet::protocol{$lonhost};                  my $protocol = $Apache::lonnet::protocol{$lonhost};
                 $protocol = 'http' if ($protocol ne 'https');                  $protocol = 'http' if ($protocol ne 'https');
                 my $alias = &Apache::lonnet::use_proxy_alias($r,$lonhost);                  my $enroller = $protocol.'://'.&Apache::lonnet::hostname($lonhost).'/cgi-bin/enrollqueued.pl';
                 $hostname = $alias if ($alias ne '');  
                 my $enroller = $protocol.'://'.$hostname.'/cgi-bin/enrollqueued.pl';  
                 $output .= '<input type="hidden" name="enroller" value="'.$enroller.'" />'."\n".                  $output .= '<input type="hidden" name="enroller" value="'.$enroller.'" />'."\n".
                            '<input type="hidden" name="token" value="'.$token.'" />'."\n".                             '<input type="hidden" name="token" value="'.$token.'" />'."\n".
                            '<input type="submit" name="validate" value="'.$buttontext.'" />'."\n".                             '<input type="submit" name="validate" value="'.$buttontext.'" />'."\n".
Line 790  sub print_selfenroll_types { Line 785  sub print_selfenroll_types {
   
 sub check_registered {  sub check_registered {
     my ($cdom,$cnum) = @_;      my ($cdom,$cnum) = @_;
     my ($registered,$instsec,$instcid,$message);      my ($registered,$instsec,$message);
     my %settings = &Apache::lonnet::get('environment',['internal.coursecode',      my %settings = &Apache::lonnet::get('environment',['internal.coursecode',
                                         'internal.sectionnums',                                          'internal.sectionnums',
                                         'internal.crosslistings'],$cdom,$cnum);                                          'internal.crosslistings'],$cdom,$cnum);
     my (@allcourses,%LC_code,%affiliates,%reply);      my (@allcourses,%LC_code,%affiliates,%reply);
     &Apache::loncommon::get_institutional_codes($cdom,$cnum,\%settings,\@allcourses,\%LC_code);      &Apache::loncommon::get_institutional_codes(\%settings,\@allcourses,\%LC_code);
     if (@allcourses > 0) {      if (@allcourses > 0) {
         @{$affiliates{$cnum}} = @allcourses;          @{$affiliates{$cnum}} = @allcourses;
         my $outcome = &Apache::lonnet::fetch_enrollment_query('updatenow',\%affiliates,\%reply,$cdom,$cnum);          my $outcome = &Apache::lonnet::fetch_enrollment_query('updatenow',\%affiliates,\%reply,$cdom,$cnum);
Line 810  sub check_registered { Line 805  sub check_registered {
                     if (defined($enrolled{$env{'user.name'}})) {                      if (defined($enrolled{$env{'user.name'}})) {
                         $registered = 1;                          $registered = 1;
                         $instsec = $LC_code{$class};                          $instsec = $LC_code{$class};
                         $instcid = $class;  
                         last;                          last;
                     }                      }
                 }                  }
Line 823  sub check_registered { Line 817  sub check_registered {
     } else {      } else {
         $message = &mt('As no institutional course sections are currently associated with this course, your registration status is undetermined.');           $message = &mt('As no institutional course sections are currently associated with this course, your registration status is undetermined.'); 
     }      }
     return ($registered,$instsec,$instcid,$message);      return ($registered,$instsec,$message);
 }  }
   
 1;  1;

Removed from v.1.27.2.8  
changed lines
  Added in v.1.32


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>