--- loncom/interface/loncoursequeueadmin.pm 2015/03/26 14:16:11 1.50 +++ loncom/interface/loncoursequeueadmin.pm 2021/11/24 04:25:02 1.62 @@ -1,7 +1,7 @@ # The LearningOnline Network # Utilities to administer domain course requests and course self-enroll requests # -# $Id: loncoursequeueadmin.pm,v 1.50 2015/03/26 14:16:11 raeburn Exp $ +# $Id: loncoursequeueadmin.pm,v 1.62 2021/11/24 04:25:02 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -105,13 +105,13 @@ sub send_selfserve_notification { $rawsubj = 'Self-enrollment requests processed'; push(@rawmsg,{ mt => 'Enrollment requests in the following course: [_1] have been processed.', - args => ["\n$contextdesc"], + args => ["\n$contextdesc\n"], }); } elsif ($context eq 'domainmanagers') { $rawsubj = 'Course/Community requests reviewed'; push(@rawmsg,{ - mt => 'Course/Community creation requests in the following domain: "[_1]" have been reviewed.', - args => ["\n$contextdesc"], + mt => 'Course/Community creation requests in the following domain: [_1] have been reviewed.', + args => ["\n$contextdesc\n"], }); if (ref($textstr) eq 'ARRAY') { push(@rawmsg,@{$textstr}); @@ -119,8 +119,8 @@ sub send_selfserve_notification { } elsif ($context eq 'authormanagers') { $rawsubj = 'Authoring Space requests reviewed'; push(@rawmsg,{ - mt => 'Authoring requests in the following domain: "[_1]" have been reviewed.', - args => ["\n$contextdesc"], + mt => 'Authoring requests in the following domain: [_1] have been reviewed.', + args => ["\n$contextdesc\n"], }); if (ref($textstr) eq 'ARRAY') { push(@rawmsg,@{$textstr}); @@ -128,8 +128,8 @@ sub send_selfserve_notification { } elsif ($context eq 'usernamemanagers') { $rawsubj = 'LON-CAPA account requests reviewed'; push(@rawmsg,{ - mt => 'Account requests in the following domain: "[_1]" have been reviewed.', - args => ["\n$contextdesc"], + mt => 'Account requests in the following domain: [_1] have been reviewed.', + args => ["\n$contextdesc\n"], }); if (ref($textstr) eq 'ARRAY') { push(@rawmsg,@{$textstr}); @@ -304,11 +304,11 @@ sub send_selfserve_notification { my $stamp = time; my $msgcount = &Apache::lonmsg::get_uniq(); my $sender_lh = &Apache::loncommon::user_lang($uname,$udom,$cid); - $subject = &Apache::lonlocal::mt_user($sender_lh,$rawsubj); + $subject = &mt_user($sender_lh,$rawsubj); $message = ''; foreach my $item (@rawmsg) { if (ref($item) eq 'HASH') { - $message .= &Apache::lonlocal::mt_user($sender_lh,$item->{mt},@{$item->{args}})."\n"; + $message .= &mt_user($sender_lh,$item->{mt},@{$item->{args}})."\n"; } } &Apache::lonmsg::process_sent_mail($subject,'',$numsent,$stamp,$uname,$udom,$msgcount,$cid,$$,$message, @@ -322,41 +322,41 @@ sub send_selfserve_notification { foreach my $recip (sort(keys(%{$msgcc}))) { my ($ccname,$ccdom) = split(/:/,$recip); my $recip_lh = &Apache::loncommon::user_lang($ccname,$ccdom,$cid); - my $subject = &Apache::lonlocal::mt_user($sender_lh,$rawsubj); + my $subject = &mt_user($sender_lh,$rawsubj); my $message = ''; foreach my $item (@rawmsg) { if (ref($item) eq 'HASH') { - $message .= &Apache::lonlocal::mt_user($sender_lh,$item->{mt}, - @{$item->{args}})."\n"; + $message .= &mt_user($sender_lh,$item->{mt}, + @{$item->{args}})."\n"; } } if ($context eq 'coursemanagers') { if ($approvedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Approved enrollments:')."\n".$approvedlist; + $message .= "\n\n".&mt_user($sender_lh,'Approved enrollments:')."\n".$approvedlist; } if ($rejectedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Rejected enrollments:')."\n".$rejectedlist; + $message .= "\n\n".&mt_user($sender_lh,'Rejected enrollments:')."\n".$rejectedlist; } } elsif ($context eq 'domainmanagers') { if ($approvedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Approved course requests:')."\n".$approvedlist; + $message .= "\n\n".&mt_user($sender_lh,'Approved course requests:')."\n".$approvedlist; } if ($rejectedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Rejected course requests:')."\n".$rejectedlist; + $message .= "\n\n".&mt_user($sender_lh,'Rejected course requests:')."\n".$rejectedlist; } } elsif ($context eq 'authormanagers') { if ($approvedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Approved author role requests:')."\n".$approvedlist; + $message .= "\n\n".&mt_user($sender_lh,'Approved author role requests:')."\n".$approvedlist; } if ($rejectedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Rejected author role requests:')."\n".$rejectedlist; + $message .= "\n\n".&mt_user($sender_lh,'Rejected author role requests:')."\n".$rejectedlist; } } elsif ($context eq 'usernamemanagers') { if ($approvedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Approved LON-CAPA account requests:')."\n".$approvedlist; + $message .= "\n\n".&mt_user($sender_lh,'Approved LON-CAPA account requests:')."\n".$approvedlist; } if ($rejectedlist) { - $message .= "\n\n".&Apache::lonlocal::mt_user($sender_lh,'Rejected LON-CAPA account requests:')."\n".$rejectedlist; + $message .= "\n\n".&mt_user($sender_lh,'Rejected LON-CAPA account requests:')."\n".$rejectedlist; } } $status .= &Apache::lonmsg::user_normal_msg($ccname,$ccdom,$subject,$message,undef,undef,undef,1, @@ -396,6 +396,8 @@ sub display_queued_requests { if ($context eq 'pending') { $disposition = 'pending'; $nextphase = 'requestvalidation'; + } elsif ($context eq 'displaypending') { + $disposition = 'pending'; } %requesthash = &Apache::lonnet::dump_dom($namespace,$dom,'_'.$disposition); $nextelement = ''; @@ -422,7 +424,7 @@ sub display_queued_requests { my ($cnum,$disposition) = split('_',$item); $entry = $cnum.':'.$requesthash{$item}{'ownername'}.':'. $requesthash{$item}{'ownerdom'}.':'; - if ($context eq 'pending') { + if (($context eq 'pending') || ($context eq 'displaypending')) { $entry .= $requesthash{$item}{'instcode'}; } else { $entry .= $requesthash{$item}{'crstype'}; @@ -441,10 +443,12 @@ sub display_queued_requests { if (keys(%queue_by_date) > 0) { if ($context eq 'course') { $output .= '

'.&mt('Self-enrollment requests queued pending approval by a Coordinator').'

'; - } elsif ($context eq 'pending') { + } elsif (($context eq 'pending') || ($context eq 'displaypending')) { $output .= '

'.&mt('Requests for official courses queued pending validation').'

'. '

'.&mt('Requests are validated against institutional data to confirm that the requestor is an instructor of record.').'
'. - &mt('Validation is attempted when the request is submitted.').' '.&mt('If unvalidated, the request will be held in a queue.').' '.&mt('Validation of pending requests is automatically repeated daily.').'

'; + &mt('Validation is attempted when the request is submitted.').' '. + &mt('If unvalidated, the request will be held in a queue.').' '. + &mt('Validation of pending requests is automatically repeated daily.').'

'; } elsif ($context eq 'requestauthor') { $output .= '

'.&mt('Requests for Authoring Space queued pending approval by a Domain Coordinator').'

'; } elsif ($context eq 'requestusername') { @@ -472,8 +476,9 @@ sub display_queued_requests { if ($context eq 'pending') { $output .= '

'."\n". - '

'.&mt('Any course/community requests which are successfully validated will be created immediately.').' '.&mt('Unvalidated requests will be listed for manual approval/rejection.').'

'; - } else { + '

'.&mt('Any course/community requests which are successfully validated will be created immediately.').' '. + &mt('Unvalidated requests will be listed for manual approval/rejection.').'

'; + } elsif (($context ne 'helpdesk') && ($context ne 'displaypending')) { $output .= '
'; } $output .= ''; @@ -481,7 +486,7 @@ sub display_queued_requests { $output .= '
'; if ($context eq 'course') { $output .= &mt('There are currently no enrollment requests awaiting approval.'); - } elsif ($context eq 'pending') { + } elsif (($context eq 'pending') || ($context eq 'displaypending')) { $output .= &mt('There are currently no requests for official courses awaiting validation.'); } elsif ($context eq 'requestauthor') { $output .= &mt('There are currently no requests for Authoring Space awaiting approval.'); @@ -501,7 +506,7 @@ sub build_queue_display { my %crstypes; my $output = &Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row(); - unless ($context eq 'pending') { + unless (($context eq 'pending') || ($context eq 'displaypending') || ($context eq 'helpdesk')) { $output .= ''.&mt('Action').''; } $output .= ''.&mt('Requestor').''; @@ -513,7 +518,7 @@ sub build_queue_display { } elsif ($context eq 'requestusername') { $output .= ''.&mt('Date requested').''. ''.&mt('Details').''; - } elsif ($context eq 'pending' || $context eq 'stillpending') { + } elsif ($context eq 'pending' || $context eq 'displaypending' || $context eq 'stillpending') { $output .= ''.&mt('Institutional code').''. ''.&mt('Date requested').''. ''.&mt('Details').''; @@ -523,6 +528,7 @@ sub build_queue_display { unofficial => 'Unofficial course', community => 'Community', textbook => 'Textbook course', + placement => 'Placement test', ); $output .= ''.&mt('Type').''. ''.&mt('Date requested').''. @@ -568,7 +574,7 @@ sub build_queue_display { } else { my ($cnum,$ownername,$ownerdom,$type,$cdesc); my $queued = 'approval'; - if ($context eq 'pending' || $context eq 'stillpending') { + if ($context eq 'pending' || $context eq 'displaypending' || $context eq 'stillpending') { ($cnum,$ownername,$ownerdom,$instcode,$cdesc)=split(/:/,$request,5); $queued = 'pending'; } else { @@ -586,7 +592,7 @@ sub build_queue_display { &Apache::loncommon::plainname($ownername,$ownerdom), $ownername,$ownerdom); } - unless ($context eq 'pending') { + unless (($context eq 'pending') || ($context eq 'displaypending') || ($context eq 'helpdesk')) { $row = ''. '