--- loncom/interface/lonrequestcourse.pm 2014/05/14 18:20:09 1.83 +++ loncom/interface/lonrequestcourse.pm 2014/05/19 15:59:55 1.84 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.83 2014/05/14 18:20:09 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.84 2014/05/19 15:59:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -311,6 +311,8 @@ sub handler { $jscript = &Apache::lonhtmlcommon::set_form_elements($elementsref,\%stored); if ($state eq 'courseinfo') { $jscript .= &cloning_javascript(); + } elsif ($state eq 'process') { + $jscript .= &processing_javascript(); } } } @@ -413,7 +415,7 @@ function setCloneDisplay(courseForm) { for (var i=0; idir_config('lonHostID'); - my ($storeresult,$result) = &print_request_outcome($lonhost,$dom,\@codetitles, + my ($storeresult,$result) = &print_request_outcome($r,$lonhost,$dom,\@codetitles, \@code_order,$instcredits); $r->print($result); if (($storeresult eq 'ok') || ($storeresult eq 'created')) { @@ -3359,7 +3375,7 @@ sub display_navbuttons { } sub print_request_outcome { - my ($lonhost,$dom,$codetitles,$code_order,$instcredits) = @_; + my ($r,$lonhost,$dom,$codetitles,$code_order,$instcredits) = @_; my ($output,$cnum,$now,$req_notifylist,$crstype,$enrollstart,$enrollend, %sections,%crosslistings,%personnel,@baduname,@missingdom,%domconfig, $uniquecode); @@ -3604,13 +3620,13 @@ sub print_request_outcome { accessend => $accessend, personnel => \%personnel, }; - my ($result,$output) = &process_request($lonhost,$dom,$cnum,$crstype,$now,$details,$instcode, + my ($result,$output) = &process_request($r,$lonhost,$dom,$cnum,$crstype,$now,$details,$instcode, $req_notifylist,\@instsections,\%domconfig); return ($result,$output); } sub process_request { - my ($lonhost,$dom,$cnum,$crstype,$now,$details,$instcode,$req_notifylist,$instsections, + my ($r,$lonhost,$dom,$cnum,$crstype,$now,$details,$instcode,$req_notifylist,$instsections, $domconfig) = @_; my (@inststatuses,$storeresult,$creationresult,$output); my $val = @@ -3740,6 +3756,10 @@ sub process_request { foreach my $role (@roles) { $longroles{$role}=&Apache::lonnet::plaintext($role,$type); } + $r->print('
'."\n". + &mt('Your request is being processed; this page will update when processing is complete.'). + '
'); + $r->rflush(); my ($result,$postprocess) = &Apache::loncoursequeueadmin::course_creation($dom,$cnum, 'autocreate',$details,\$logmsg,\$newusermsg,\$addresult, \$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles, @@ -4782,7 +4802,11 @@ sub process_textbook_request { undef($clonedom); } } - $r->print(&header('Course Creation')); + my $js = &processing_javascript(); + my $loaditems = { + onload => 'javascript:hideProcessing();', + }; + $r->print(&header('Course Creation',$js,$loaditems)); if (ref($can_request) eq 'HASH') { unless ((scalar(keys(%{$can_request})) == 1) && ($can_request->{'textbook'})) { @@ -4821,7 +4845,8 @@ sub process_textbook_request { $details->{dateshift} = $env{'form.dateshift'}; } my $lonhost = $r->dir_config('lonHostID'); - my ($result,$output) = &process_request($lonhost,$dom,$cnum,$crstype,$now,$details,'', + $r->rflush(); + my ($result,$output) = &process_request($r,$lonhost,$dom,$cnum,$crstype,$now,$details,'', $req_notifylist,[],$domconfig); $r->print($output); if (&Apache::loncoursequeueadmin::author_prompt()) {