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>'. |
¬ification_information($disposition,$req_notifylist,$cnum,$now); |
¬ification_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; |
} |
} |