Diff for /loncom/interface/selfenroll.pm between versions 1.27.2.2 and 1.28

version 1.27.2.2, 2014/04/05 13:17:16 version 1.28, 2014/03/31 02:31:05
Line 232  sub handler { Line 232  sub handler {
         &process_self_enroll($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,          &process_self_enroll($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,
                              $selfenroll_access_start,$selfenroll_access_end,                               $selfenroll_access_start,$selfenroll_access_end,
                              $selfenroll_section,$now,$selfenroll_approval,                               $selfenroll_section,$now,$selfenroll_approval,
                              $selfenroll_notifylist,$owner,$crstype,$lonhost,$handle);                               $selfenroll_notifylist,$owner,$crstype,$lonhost);
     } elsif ($env{'form.phase'} eq 'login') {      } elsif ($env{'form.phase'} eq 'login') {
         my $submit_text = &mt('Log in');          my $submit_text = &mt('Log in');
         $r->print('<h3>'.&mt('Log-in to LON-CAPA').'</h3>');          $r->print('<h3>'.&mt('Log-in to LON-CAPA').'</h3>');
Line 349  sub enrollment_limit_check { Line 349  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 411  sub has_role { Line 410  sub has_role {
 sub process_self_enroll {  sub process_self_enroll {
     my ($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,      my ($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered,
         $selfenroll_access_start,$selfenroll_access_end,$selfenroll_section,          $selfenroll_access_start,$selfenroll_access_end,$selfenroll_section,
         $now,$selfenroll_approval,$selfenroll_notifylist,$owner,$crstype,$lonhost,$handle) = @_;          $now,$selfenroll_approval,$selfenroll_notifylist,$owner,$crstype,$lonhost) = @_;
     my $udom = $env{'user.domain'};      my $udom = $env{'user.domain'};
     my $uname = $env{'user.name'};      my $uname = $env{'user.name'};
     my $selfenroll = 0;      my $selfenroll = 0;
Line 456  sub process_self_enroll { Line 455  sub process_self_enroll {
             my $outcome =               my $outcome = 
                 &store_selfenroll_request($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);
             $r->print($outcome);              $r->print($outcome);
         } else {          } else {
             my $enrollresult =               my $enrollresult = 
Line 535  sub user_can_selfenroll { Line 534  sub user_can_selfenroll {
   
 sub store_selfenroll_request {  sub store_selfenroll_request {
     my ($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) = @_;
     my $namespace = 'selfenrollrequests';      my $namespace = 'selfenrollrequests';
     my $output;      my $output;
     my $now = time;      my $now = time;
Line 563  sub store_selfenroll_request { Line 562  sub store_selfenroll_request {
                                                    });                                                     });
             my $token;              my $token;
             if ($status eq 'pending') {              if ($status eq 'pending') {
                 $token = &Apache::lonnet::tmpput(\%selfenroll,$lonhost);                  $token = &Apache::lonnet::tmpput(\%selfenroll,$lonhost);;
                 $userenroll{$cdom.'_'.$cnum}{'token'} = $token;                  $userenroll{$cdom.'_'.$cnum}{'token'} = $token;
                 $userenroll{$cdom.'_'.$cnum}{'lonhost'} = $lonhost;  
                 $userenroll{$cdom.'_'.$cnum}{'handle'} = $handle;   
             }               } 
             my $warning;              my $warning;
             my $userresult = &Apache::lonnet::put($namespace,\%userenroll,$udom,$uname);              my $userresult = &Apache::lonnet::put($namespace,\%userenroll,$udom,$uname);
Line 584  sub store_selfenroll_request { Line 581  sub store_selfenroll_request {
                                    'token'      => $token,                                     'token'      => $token,
                                  );                                   );
                 my %domconfig = &Apache::lonnet::get_dom('configuration',['selfenrollment'],$cdom);                  my %domconfig = &Apache::lonnet::get_dom('configuration',['selfenrollment'],$cdom);
   
                 if (ref($domconfig{'selfenrollment'}) eq 'HASH') {                  if (ref($domconfig{'selfenrollment'}) eq 'HASH') {
                     my ($url,$buttontext,$code,@fields);                      my ($url,$buttontext,$code,@fields);
                     if (ref($domconfig{'selfenrollment'}{'validation'}) eq 'HASH') {                      if (ref($domconfig{'selfenrollment'}{'validation'}) eq 'HASH') {
                         my %courseinfo = &Apache::lonnet::coursedescription($cdom.'_'.$cnum,{ 'one_time' => 1});                          my %courseinfo = &Apache::lonnet::coursedescription($cdom.'_'.$cnum,{ 'one_time' => 1});
                         $postvalues{'uniquecode'} = $courseinfo{'internal.uniquecode'};                          $postvalues{'uniquecode'} = $courseinfo{'internal.uniquecode'};
                         $postvalues{'description'} = $courseinfo{'description'};  
                         $url = $domconfig{'selfenrollment'}{'validation'}{'url'};                          $url = $domconfig{'selfenrollment'}{'validation'}{'url'};
                         if (ref($domconfig{'selfenrollment'}{'validation'}{'fields'}) eq 'ARRAY') {                          if (ref($domconfig{'selfenrollment'}{'validation'}{'fields'}) eq 'ARRAY') {
                             @fields = @{$domconfig{'selfenrollment'}{'validation'}{'fields'}};                              @fields = @{$domconfig{'selfenrollment'}{'validation'}{'fields'}};
Line 605  sub store_selfenroll_request { Line 600  sub store_selfenroll_request {
                                     $output .= '<input type="hidden" name="'.$field.'" value="'.$postvalues{$field}.'" />'."\n";                                      $output .= '<input type="hidden" name="'.$field.'" value="'.$postvalues{$field}.'" />'."\n";
                                 }                                  }
                             }                              }
                             if ($buttontext eq '') {                          }
                                 $buttontext = &mt('Complete my enrollment');                          if ($buttontext eq '') {
                             }                              $buttontext = &mt('Complete my enrollment');
                             my $protocol = $Apache::lonnet::protocol{$lonhost};                          }
                             $protocol = 'http' if ($protocol ne 'https');                          $output .= '<input type="submit" name="validate" value="'.$buttontext.'" />'."\n".
                             my $enroller = $protocol.'://'.&Apache::lonnet::hostname($lonhost).'/cgi-bin/enrollqueued.pl';                                     '</form>'."\n";
                             $output .= '<input type="hidden" name="enroller" value="'.$enroller.'" />'."\n".  
                                        '<input type="submit" name="validate" value="'.$buttontext.'" />'."\n".  
                                        '</form>'."\n";  
                         } else {  
                             $status = 'request';  
                         }   
                     }                      }
                 } else {                  } else {
                     $status = 'request';                      $status eq 'request';
                 }                  }
             }              }
             if ($status eq 'request') {              if ($status eq 'request') {

Removed from v.1.27.2.2  
changed lines
  Added in v.1.28


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