Diff for /loncom/interface/lonrequestcourse.pm between versions 1.16 and 1.17

version 1.16, 2009/08/18 01:41:37 version 1.17, 2009/08/18 20:06:51
Line 775  sub print_request_form { Line 775  sub print_request_form {
             }              }
             if ($instcode ne '') {              if ($instcode ne '') {
                 $code_chk = &Apache::lonnet::auto_validate_instcode('',$dom,$instcode);                  $code_chk = &Apache::lonnet::auto_validate_instcode('',$dom,$instcode);
                 if ($code_chk eq 'ok') {                  if ($code_chk eq 'valid') {
                     $message = '<div class="LC_info">'.                      $message = '<div class="LC_info">'.
                                &mt('The chosen course category [_1] is valid.','<b>'.                                 &mt('The chosen course category [_1] is valid.','<b>'.
                                $instcode.'</b>').'</div>';                                 $instcode.'</b>').'</div>';
Line 1808  sub print_request_outcome { Line 1808  sub print_request_outcome {
     }      }
     $now = time;      $now = time;
     $crstype = $env{'form.crstype'};      $crstype = $env{'form.crstype'};
       my @instsections;
     if ($crstype eq 'official') {      if ($crstype eq 'official') {
         if (&Apache::lonnet::auto_run('',$dom)) {          if (&Apache::lonnet::auto_run('',$dom)) {
             ($enrollstart,$enrollend)=&dates_from_form('enrollstart','enrollend');              ($enrollstart,$enrollend)=&dates_from_form('enrollstart','enrollend');
Line 1815  sub print_request_outcome { Line 1816  sub print_request_outcome {
         for (my $i=0; $i<$env{'form.sectotal'}; $i++) {          for (my $i=0; $i<$env{'form.sectotal'}; $i++) {
             if ($env{'form.sec_'.$i}) {              if ($env{'form.sec_'.$i}) {
                 if ($env{'form.secnum_'.$i} ne '') {                  if ($env{'form.secnum_'.$i} ne '') {
                     $sections{$i}{'inst'} = $env{'form.secnum_'.$i};                      my $sec = $env{'form.secnum_'.$i};
                       $sections{$i}{'inst'} = $sec;
                       if (($sec ne '') && (!grep(/^\Q$sec\E$/,@instsections))) {
                           push(@instsections,$sec);
                       }
                     $sections{$i}{'loncapa'} = $env{'form.loncapasec_'.$i};                      $sections{$i}{'loncapa'} = $env{'form.loncapasec_'.$i};
                 }                  }
             }              }
Line 1973  sub print_request_outcome { Line 1978  sub print_request_outcome {
                         details   => $details,                          details   => $details,
                       );                        );
         my $requestkey = $dom.'_'.$cnum;          my $requestkey = $dom.'_'.$cnum;
           my $validationerror;
         if ($val eq 'autolimit=') {          if ($val eq 'autolimit=') {
             $disposition = 'process';              $disposition = 'process';
         } elsif ($val =~ /^autolimit=(\d+)$/) {          } elsif ($val =~ /^autolimit=(\d+)$/) {
Line 1980  sub print_request_outcome { Line 1986  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') {
             $disposition =              my $inststatuslist;
                 &Apache::lonnet::auto_courserequest_validation($dom,$details,              if (@inststatuses > 0) {
                                                               \@inststatuses,\$message);                  $inststatuslist = join(',',@inststatuses);
               }
               my $instseclist;
               if (@instsections > 0) {
                   $instseclist = join(',',@instsections);
               }
               my $validation = 
                   &Apache::lonnet::auto_validate_instcode('',$dom,$instcode,
                       $env{'user.name'}.':'.$env{'user.domain'},$inststatuslist,
                       $instseclist);
               if ($validation eq 'valid') {
                   $disposition = 'process';
               } elsif ($validation eq 'rejected') {
                   $disposition = 'rejected';
               } elsif ($validation eq 'pending') {
                   $disposition = 'pending';
               } elsif ($disposition eq 'approval') {
                   $disposition = 'approval';
               } elsif ($disposition =~ /^error(.*)$/) {
                   $disposition = 'approval';
                   $validationerror = $1;
               } else {
                   $disposition = 'approval';  
               }
         } else {          } else {
             $disposition = 'approval';              $disposition = 'approval';
         }          }
Line 2035  sub print_request_outcome { Line 2064  sub print_request_outcome {
             my $statuskey = 'status:'.$dom.':'.$cnum;              my $statuskey = 'status:'.$dom.':'.$cnum;
             my %userreqhash = &Apache::lonnet::get('courserequests',[$statuskey],              my %userreqhash = &Apache::lonnet::get('courserequests',[$statuskey],
                                                    $env{'user.domain'},$env{'user.name'});                                                     $env{'user.domain'},$env{'user.name'});
             if (exists($userreqhash{$statuskey})) {              if ($userreqhash{$statuskey} ne '') {
                 $modified = 1;                  $modified = 1;
                 my %queuehash = &Apache::lonnet::get_dom('courserequestqueue',                  my %queuehash = &Apache::lonnet::get_dom('courserequestqueue',
                                                          [$cnum.'_approval',                                                           [$cnum.'_approval',
                                                           $cnum.'_pending'],$dom);                                                            $cnum.'_pending'],$dom);
                 if ((exists($queuehash{$cnum.'_approval'})) ||                   if (($queuehash{$cnum.'_approval'} ne '') || 
                     (exists($queuehash{$cnum.'_pending'}))) {                      ($queuehash{$cnum.'_pending'} ne '')) {
                     $queued = 1;                      $queued = 1;
                 }                  }
             }              }
Line 2084  sub print_request_outcome { Line 2113  sub print_request_outcome {
             $output .= '<p>'.&mt('Your course request has been updated').'</p>'.              $output .= '<p>'.&mt('Your course request has been updated').'</p>'.
                        &notification_information($disposition,$req_notifylist,$cnum,$now);                         &notification_information($disposition,$req_notifylist,$cnum,$now);
         }          }
           if ($validationerror ne '') {
               $output .= '<span class="LC_warning">'.&mt('An error occurred validating your request with institutional data sources: {_1].',$validationerror).'</p>';
           }
     }      }
     return $output;      return $output;
 }  }
Line 2111  sub notification_information { Line 2143  sub notification_information {
             my $sender = $env{'user.name'}.':'.$env{'user.domain'};              my $sender = $env{'user.name'}.':'.$env{'user.domain'};
             &Apache::loncoursequeueadmin::send_selfserve_notification($req_notifylist,"$fullname ($env{'user.name'}:$env{'user.domain'})",$cnum,$env{'form.cdescr'},$now,'coursereq',$sender);              &Apache::loncoursequeueadmin::send_selfserve_notification($req_notifylist,"$fullname ($env{'user.name'}:$env{'user.domain'})",$cnum,$env{'form.cdescr'},$now,'coursereq',$sender);
         }          }
     } else {      } elsif ($disposition eq 'pending') {
         $output .= '<div class="LC_info">'.          $output .= '<div class="LC_info">'.
 &mt('Your request has been placed in a queue pending administrative action.').'<br />'.  &mt('Your request has been placed in a queue pending administrative action.').'<br />'.
 &mt("Usually this means that your institution's information systems do not list you among the instructional personnel for this course.").'<br />'.  &mt("Usually this means that your institution's information systems do not list you among the instructional personnel for this course.").'<br />'.
 &mt('The list of instructional personnel for the course will be automatically checked daily, and once you are listed the request will be processed.').  &mt('The list of instructional personnel for the course will be automatically checked daily, and once you are listed the request will be processed.').
                    '</div>';                     '</div>';
       } else {
           $output .= '<div class="LC_warning">'.
                      &mt('Your request status is: [_1].',$disposition). 
                      '</div>'
     }      }
     return $output;      return $output;
 }  }

Removed from v.1.16  
changed lines
  Added in v.1.17


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