--- loncom/interface/lonrequestcourse.pm 2013/12/24 19:15:11 1.69 +++ loncom/interface/lonrequestcourse.pm 2013/12/25 09:52:42 1.70 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.69 2013/12/24 19:15:11 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.70 2013/12/25 09:52:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3244,7 +3244,8 @@ sub display_navbuttons { sub print_request_outcome { my ($dom,$codetitles,$code_order,$instcredits) = @_; my ($output,$cnum,$now,$req_notifylist,$crstype,$enrollstart,$enrollend, - %sections,%crosslistings,%personnel,@baduname,@missingdom,%domconfig); + %sections,%crosslistings,%personnel,@baduname,@missingdom,%domconfig, + $uniquecode); my $sectotal = $env{'form.sectotal'}; my $crosslisttotal = 0; $cnum = $env{'form.cnum'}; @@ -3258,6 +3259,7 @@ sub print_request_outcome { if (ref($domconfig{'requestcourses'}{'notify'}) eq 'HASH') { $req_notifylist = $domconfig{'requestcourses'}{'notify'}{'approval'}; } + $uniquecode = $domconfig{'requestcourses'}{'uniquecode'}; } $now = time; $crstype = $env{'form.crstype'}; @@ -3467,6 +3469,7 @@ sub print_request_outcome { crstype => $env{'form.crstype'}, instcode => $instcode, defaultcredits => $credits, + uniquecode => $uniquecode, clonedom => $clonedom, clonecrs => $clonecrs, datemode => $env{'form.datemode'}, @@ -3558,7 +3561,7 @@ sub print_request_outcome { $storeresult = 'rejected'; } elsif ($disposition eq 'process') { my %domdefs = &Apache::lonnet::get_domain_defaults($dom); - my ($logmsg,$newusermsg,$addresult,$enrollcount,$response,$keysmsg,%longroles); + my ($logmsg,$newusermsg,$addresult,$enrollcount,$response,$keysmsg,%longroles,$code); my $type = 'Course'; if ($crstype eq 'community') { $type = 'Community'; @@ -3569,7 +3572,7 @@ sub print_request_outcome { } my $result = &Apache::loncoursequeueadmin::course_creation($dom,$cnum, 'autocreate',$details,\$logmsg,\$newusermsg,\$addresult, - \$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles); + \$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles,\$code); if ($result eq 'created') { $disposition = 'created'; $reqstatus = 'created'; @@ -3580,6 +3583,10 @@ sub print_request_outcome { } else { $output = '

'.&mt('Your course request has been processed and the course has been created.'); } + if ($code) { + $output .= ¬ification_information($disposition,$env{'user.name'}.':'.$env{'user.domain'}, + $cnum,$now,$code); + } $output .= '
'.$role_result.'

'; $creationresult = 'created'; } else { @@ -3803,7 +3810,7 @@ sub update_requestors_roles { } sub notification_information { - my ($disposition,$req_notifylist,$cnum,$now) = @_; + my ($disposition,$req_notifylist,$cnum,$now,$code) = @_; my %emails = &Apache::loncommon::getemails(); my $address; if (($emails{'permanentemail'} ne '') || ($emails{'notification'} ne '')) { @@ -3831,6 +3838,23 @@ sub notification_information { &mt("Usually this means that your institution's information systems do not list you among the instructional personnel for this course.").'
'. &mt('The list of instructional personnel for the course will be automatically checked daily, and once you are listed the request will be processed.'). ''; + } elsif (($disposition eq 'created') && ($code)) { + my $codemsg = [{ + mt => 'Students can automatically select your course by entering this code: [_1]', + args => [$code], + }]; + $output .= '
'. + &mt('Students can automatically select your course by entering this code: [_1].',''.$code.''). + '
'. + &mt('A message has been sent to your LON-CAPA account with this information').'
'; + if ($address ne '') { + $output.= &mt('And an e-mail has also been sent to: [_1] with this code.',$address).'
'; + } + my $sender = $env{'user.name'}.':'.$env{'user.domain'}; + if ($code) { + &Apache::loncoursequeueadmin::send_selfserve_notification($req_notifylist,$codemsg,$cnum,$env{'form.cdescr'}, + $now,'uniquecode',$sender); + } } else { $output .= '
'. &mt('Your request status is: [_1].',$disposition).