--- loncom/interface/loncoursequeueadmin.pm 2020/07/20 10:13:17 1.52.2.3.2.2 +++ loncom/interface/loncoursequeueadmin.pm 2020/08/21 21:59:20 1.60 @@ -1,7 +1,7 @@ # The LearningOnline Network # Utilities to administer domain course requests and course self-enroll requests # -# $Id: loncoursequeueadmin.pm,v 1.52.2.3.2.2 2020/07/20 10:13:17 raeburn Exp $ +# $Id: loncoursequeueadmin.pm,v 1.60 2020/08/21 21:59:20 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -506,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') || ($context eq 'displaypending') || ($context eq 'helpdesk')) { + unless (($context eq 'pending') || ($context eq 'displaypending') || ($context eq 'helpdesk')) { $output .= ''.&mt('Action').''; } $output .= ''.&mt('Requestor').''; @@ -528,6 +528,7 @@ sub build_queue_display { unofficial => 'Unofficial course', community => 'Community', textbook => 'Textbook course', + placement => 'Placement test', ); $output .= ''.&mt('Type').''. ''.&mt('Date requested').''. @@ -609,7 +610,7 @@ sub build_queue_display { } elsif ($context eq 'requestusername') { $row .= ''.$showtime.''."\n". ''.$detailslink.''."\n"; - } else { + } else { if ($context eq 'pending' || $context eq 'displaypending' || $context eq 'stillpending') { $row .= ''.$instcode.''."\n"; } else { @@ -1670,13 +1671,21 @@ sub course_creation { sub build_batchcreatehash { my ($dom,$context,$details,$owneremail,$domdefs) = @_; my %batchhash; - my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift tinyurls enrollstart enrollend accessstart accessend sections crosslists users uniquecode}; + my @items = qw{owner domain coursehome clonecrs clonedom datemode dateshift tinyurls enrollstart enrollend accessstart accessend sections users uniquecode}; if ((ref($details) eq 'HASH') && (ref($domdefs) eq 'HASH')) { my $emailenc = &escape($owneremail); my $owner = $details->{'owner'}.':'.$details->{'domain'}; foreach my $item (@items) { $batchhash{$item} = $details->{$item}; } + if (ref($details->{'crosslists'}) eq 'HASH') { + foreach my $key (keys(%{$details->{'crosslists'}})) { + if (ref($details->{'crosslists'}->{$key}) eq 'HASH') { + $batchhash{'crosslists'}{$key}{'inst'} = $details->{crosslists}->{$key}->{instcode}.$details->{crosslists}->{$key}->{instsec}; + $batchhash{'crosslists'}{$key}{'loncapa'} = $details->{crosslists}->{$key}->{loncapa}; + } + } + } $batchhash{'title'} = $details->{'cdescr'}; $batchhash{'coursecode'} = $details->{'instcode'}; if ($domdefs->{'officialcredits'} || $domdefs->{'unofficialcredits'}) { @@ -1689,6 +1698,8 @@ sub build_batchcreatehash { $batchhash{'authparam'} = $domdefs->{'auth_arg_def'}; if ($details->{'crstype'} eq 'community') { $batchhash{'crstype'} = 'Community'; + } elsif ($details->{'crstype'} eq 'placement') { + $batchhash{'crstype'} = 'Placement'; } else { if ($details->{'crstype'} eq 'textbook') { if ($details->{'clonecrs'} && $details->{'clonedom'}) { @@ -2104,7 +2115,7 @@ sub process_official_reqs { my ($result,$postprocess) = &course_creation($dom,$cnum,'domain',$history{'details'},\$logmsg,$clonemsg,\$newusermsg, \$addresult,\$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles, - \$code,\%customitems,$context,$user_lh); + \$code,\%customitems,$context,$user_lh); if ($result eq 'created') { $disposition = 'created'; $reqstatus = 'created';