Diff for /loncom/interface/lonrequestcourse.pm between versions 1.19 and 1.21

version 1.19, 2009/08/20 21:15:37 version 1.21, 2009/08/22 18:12:37
Line 116  use LONCAPA qw(:DEFAULT :match); Line 116  use LONCAPA qw(:DEFAULT :match);
   
 sub handler {  sub handler {
     my ($r) = @_;      my ($r) = @_;
       &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;
     if ($r->header_only) {      if ($r->header_only) {
         &Apache::loncommon::content_type($r,'text/html');  
         $r->send_http_header;  
         return OK;          return OK;
     }      }
     &Apache::loncommon::content_type($r,'text/html');  
     $r->send_http_header;  
   
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
     my $dom = &get_course_dom();      my $dom = &get_course_dom();
Line 159  sub handler { Line 157  sub handler {
     $states{'view'} = ['pick_request','details','cancel','removal'];      $states{'view'} = ['pick_request','details','cancel','removal'];
     $states{'log'} = ['filter','display'];      $states{'log'} = ['filter','display'];
     $states{'new'} = ['courseinfo','enrollment','personnel','review','process'];      $states{'new'} = ['courseinfo','enrollment','personnel','review','process'];
   
     if (($action eq 'new') && ($env{'form.crstype'} eq 'official')) {      if (($action eq 'new') && ($env{'form.crstype'} eq 'official')) {
         unless ($env{'form.state'} eq 'crstype') {          unless ($env{'form.state'} eq 'crstype') {
             unshift (@{$states{'new'}},'codepick');              unshift(@{$states{'new'}},'codepick');
         }          }
     }      }
   
Line 793  sub print_request_form { Line 792  sub print_request_form {
                 $message = '<div class="LC_warning">'.                  $message = '<div class="LC_warning">'.
                            &mt('No course was found matching your choice of institutional course category.');                             &mt('No course was found matching your choice of institutional course category.');
             }              }
             unless ($code_chk eq 'ok') {              unless ($code_chk eq 'valid') {
                 $prev = 'crstype';                  $prev = 'crstype';
             }              }
             $r->print($message);              $r->print($message);
Line 811  sub print_request_form { Line 810  sub print_request_form {
                 $r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box().$codepicker.                  $r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box().$codepicker.
                           &Apache::lonhtmlcommon::end_pick_box().'</div>');                            &Apache::lonhtmlcommon::end_pick_box().'</div>');
             } else {              } else {
                   $next = $states->{$action}[$page+2];
                 $r->print(&courseinfo_form($dom,$formname,$crstype,$next));                  $r->print(&courseinfo_form($dom,$formname,$crstype,$next));
             }              }
         } else {          } else {
               if ($crstype eq 'official') {
                   $next = $states->{$action}[$page+2];
               }
             $r->print(&courseinfo_form($dom,$formname,$crstype,$next));              $r->print(&courseinfo_form($dom,$formname,$crstype,$next));
         }          }
     } elsif ($prev eq 'codepick') {      } elsif ($prev eq 'codepick') {
           if ($env{'form.instcode'} eq '') {
               $prev = $states->{$action}[$page-2];
           }
         $r->print(&courseinfo_form($dom,$formname,$crstype,$next));          $r->print(&courseinfo_form($dom,$formname,$crstype,$next));
     } elsif ($state eq 'enrollment') {      } elsif ($state eq 'enrollment') {
         if ($crstype eq 'official') {          if ($crstype eq 'official') {
Line 2018  sub print_request_outcome { Line 2024  sub print_request_outcome {
             $disposition = &check_autolimit($env{'user.name'},$env{'user.domain'},              $disposition = &check_autolimit($env{'user.name'},$env{'user.domain'},
                                             $dom,$crstype,$limit,\$message);                                              $dom,$crstype,$limit,\$message);
         } elsif ($val eq 'validate') {          } elsif ($val eq 'validate') {
             my $inststatuslist;              my ($inststatuslist,$validationchk,$validation);
             if (@inststatuses > 0) {              if (@inststatuses > 0) {
                 $inststatuslist = join(',',@inststatuses);                  $inststatuslist = join(',',@inststatuses);
             }              }
Line 2026  sub print_request_outcome { Line 2032  sub print_request_outcome {
             if (@instsections > 0) {              if (@instsections > 0) {
                 $instseclist = join(',',@instsections);                  $instseclist = join(',',@instsections);
             }              }
             my $validation =               $validationchk = 
                 &Apache::lonnet::auto_validate_instcode('',$dom,$instcode,                  &Apache::lonnet::auto_courserequest_validation($dom,
                     $env{'user.name'}.':'.$env{'user.domain'},$inststatuslist,                      $env{'user.name'}.':'.$env{'user.domain'},$crstype,
                     $instseclist);                      $inststatuslist,$instcode,$instseclist);
             if ($validation eq 'valid') {              if ($validationchk =~ /:/) {
                 $disposition = 'process';                  ($validation,$message) = split(':',$validationchk);
             } elsif ($validation eq 'rejected') {              } else {
                 $disposition = 'rejected';                  $validation = $validationchk;
             } elsif ($validation eq 'pending') {              }
                 $disposition = 'pending';              if ($validation =~ /^error(.*)$/) {
             } elsif ($disposition eq 'approval') {  
                 $disposition = 'approval';  
             } elsif ($disposition =~ /^error(.*)$/) {  
                 $disposition = 'approval';                  $disposition = 'approval';
                 $validationerror = $1;                  $validationerror = $1;
             } else {  
                 $disposition = 'approval';    
             }              }
         } else {          } else {
             $disposition = 'approval';              $disposition = 'approval';
Line 2391  sub retrieve_settings { Line 2392  sub retrieve_settings {
                                                 if (grep(/^\Q$sec\E/,@currsec)) {                                                  if (grep(/^\Q$sec\E/,@currsec)) {
                                                     $env{'form.person_'.$i.'_sec'} = $sec;                                                      $env{'form.person_'.$i.'_sec'} = $sec;
                                                 } else {                                                  } else {
                                                     push (@newsecs,$sec);                                                      push(@newsecs,$sec);
                                                 }                                                  }
                                             }                                              }
                                         }                                          }

Removed from v.1.19  
changed lines
  Added in v.1.21


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