--- loncom/interface/loncoursequeueadmin.pm 2010/02/21 02:38:23 1.18 +++ loncom/interface/loncoursequeueadmin.pm 2010/02/26 22:56:01 1.21 @@ -1,7 +1,7 @@ # The LearningOnline Network -# Utilities to administer domain course requests and course self-enroll requests +# Utilities to administer domain course requests and course self-enroll requests # -# $Id: loncoursequeueadmin.pm,v 1.18 2010/02/21 02:38:23 raeburn Exp $ +# $Id: loncoursequeueadmin.pm,v 1.21 2010/02/26 22:56:01 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -74,7 +74,7 @@ use Apache::loncommon; use Apache::lonmsg; use Apache::lonlocal; use Apache::lonuserutils; -use LONCAPA; +use LONCAPA qw(:DEFAULT :match); sub send_selfserve_notification { my ($notifylist,$textstr,$cid,$contextdesc,$timestamp,$context,$sender, @@ -375,7 +375,7 @@ sub update_request_queue { $stucounts,$idx,$classlist,%requesthash,$cid,$hostname,$protocol, $domdesc,$now,$sender,$approvedmsg,$rejectedmsg,$beneficiary, @existing,@missingreq,@invalidusers,@limitexceeded,@completed, - @processing_errors,@warn_approves,@warn_rejects,@approvals, + @processing_errors,@warn_approves,@warn_rejects,@approvals,@warn_dels, @rejections,@rejectionerrors,@nopermissions,%courseroles, %communityroles,%domdefs,%approvalmsg,%rejectionmsg,$crstype); @approvals = &Apache::loncommon::get_env_multiple('form.approvereq'); @@ -466,7 +466,6 @@ sub update_request_queue { my $uhome = &Apache::lonnet::homeserver($uname,$udom); if ($uhome ne 'no_host') { if (exists($requesthash{$uname.':'.$udom})) { - if (exists($classlist->{$uname.':'.$udom})) { if (ref($classlist->{$uname.':'.$udom}) eq 'ARRAY') { if (($classlist->{$uname.':'.$udom}->[$idx->{'status'}] eq 'Active') || @@ -565,6 +564,10 @@ sub update_request_queue { $approvedmsg = $approvalmsg{'course'}; } push(@completed,$cnum); + + unless (&Apache::lonnet::del_dom($namespace,[$cnum.'_approval'],$cdom) eq 'ok') { + push(@warn_dels,$cnum); + } &send_selfserve_notification($ownername.':'.$ownerdom,$approvedmsg, $cid,$coursedesc,$now,$beneficiary,$sender,undef,undef,$crstype); my %reqhash = ( @@ -679,6 +682,9 @@ sub update_request_queue { } else { push(@warn_rejects,$cnum); } + unless (&Apache::lonnet::del_dom($namespace,[$cnum.'_approval'],$cdom) eq 'ok') { + push(@warn_dels,$cnum); + } } else { push(@warn_rejects,$cnum); } @@ -896,6 +902,19 @@ sub update_request_queue { $output .= '
'; } } + if (@warn_dels) { + $output .= ''.&mt("For the following course/community requests an error occurred when removing requests for the following from the pending queue:").'