--- loncom/interface/lonrequestcourse.pm 2020/02/12 22:16:25 1.95.2.5 +++ loncom/interface/lonrequestcourse.pm 2024/07/03 22:34:22 1.95.2.8 @@ -1,7 +1,7 @@ # The LearningOnline Network # Request a course # -# $Id: lonrequestcourse.pm,v 1.95.2.5 2020/02/12 22:16:25 raeburn Exp $ +# $Id: lonrequestcourse.pm,v 1.95.2.8 2024/07/03 22:34:22 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -319,8 +319,6 @@ sub handler { $jscript = &Apache::lonhtmlcommon::set_form_elements($elementsref,\%stored); if ($state eq 'courseinfo') { $jscript .= &cloning_javascript(); - } elsif ($state eq 'process') { - $jscript .= &processing_javascript(); } } } @@ -432,17 +430,6 @@ function setCloneDisplay(courseForm) { END } -sub processing_javascript { - return <<"END"; -function hideProcessing() { - if (document.getElementById('processing')) { - document.getElementById('processing').style.display="none"; - } -} - -END -} - sub get_breadcrumbs { my ($dom,$action,$state,$states,$trail) = @_; my ($crumb,$newinstcode,$codechk,$checkedcode,$numtitles,$description); @@ -720,9 +707,6 @@ sub onload_action { if ($state eq 'courseinfo') { $loaditems{'onload'} .= 'javascript:setCloneDisplay(document.requestcrs);'; } - if ($state eq 'process') { - $loaditems{'onload'} .= 'javascript:hideProcessing();'; - } } return \%loaditems; } @@ -2395,7 +2379,7 @@ sub print_cancel_request { &Apache::loncommon::start_data_table_row(). ''.$history{details}{'cdescr'}.''. &Apache::lonlocal::locallocaltime($timestamp).''. - ''.$showtype.''. + ''.&mt($showtype).''. &Apache::loncommon::end_data_table_row(). &Apache::loncommon::end_data_table(). '
'; @@ -2749,7 +2733,7 @@ sub requestlog_display_filter { $typename = $typenames->{$crstype}; } } - $output .= ''."\n"; + $output .= ''."\n"; } $output .= ''; } @@ -3198,7 +3182,7 @@ sub clone_form { '
'. - ''. + ''. &Apache::lonhtmlcommon::row_closure(1); return $output; } @@ -3638,6 +3622,19 @@ sub print_request_outcome { } } } + if ($env{'form.chome'} eq 'default') { + my %servers = &Apache::lonnet::get_servers($dom,'library'); + my $numlib = keys(%servers); + if ($numlib) { + my $loadm=10000000; + my $chome; + foreach my $tryserver (keys(%servers)) { + ($chome,$loadm) = + &Apache::lonnet::compare_server_load($tryserver,$chome,$loadm); + } + $env{'form.chome'} = $chome; + } + } my $details = { owner => $env{'user.name'}, domain => $env{'user.domain'}, @@ -3793,9 +3790,20 @@ 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.'). - '
'); + my $preamble = '
'. + '
'. + &mt("Please be patient while your request is processed"). + '
'. + '
'; + my $closure = < +// + +ENDCLOSE + my %prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,undef,$preamble); + &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Processing ...')); $r->rflush(); if (ref($details) eq 'HASH') { if ($details->{'clonecrs'}) { @@ -3820,6 +3828,8 @@ sub process_request { 'autocreate',$details,\$logmsg,\$newusermsg,\$addresult, \$enrollcount,\$response,\$keysmsg,\%domdefs,\%longroles, \$code,\%customitems); + &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Finished!')); + &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); if (ref($postprocess) eq 'HASH') { $customized = $postprocess->{'createdcustomized'}; } @@ -3980,7 +3990,7 @@ sub process_request { } elsif ($disposition eq 'pending') { my $pendingform; if ($crstype ne 'official') { - $pendingform = &pending_validation_form($dom,$cnum,$crstype,$now,$token, + $pendingform = &pending_validation_form($r,$dom,$cnum,$crstype,$now,$token, $lonhost,$env{'form.cdescr'}); } if ($pendingform) { @@ -4298,7 +4308,7 @@ sub notification_information { } sub pending_validation_form { - my ($cdom,$cnum,$crstype,$now,$token,$lonhost,$cdesc) = @_; + my ($r,$cdom,$cnum,$crstype,$now,$token,$lonhost,$cdesc) = @_; my $output; my %postvalues = ( 'owner' => $env{'user.name'}.':'.$env{'user.domain'}, @@ -4334,6 +4344,8 @@ sub pending_validation_form { my $hostname = &Apache::lonnet::hostname($lonhost); my $protocol = $Apache::lonnet::protocol{$lonhost}; $protocol = 'http' if ($protocol ne 'https'); + my $alias = &Apache::lonnet::use_proxy_alias($r,$lonhost); + $hostname = $alias if ($alias ne ''); my $crscreator = $protocol.'://'.$hostname.'/cgi-bin/createpending.pl'; $output .= ''."\n". ''."\n". @@ -4822,7 +4834,7 @@ sub print_textbook_form { '
'. - ''. + ''. '
'); } # @@ -4837,7 +4849,7 @@ sub print_textbook_form { '
'. - ''. + ''. ''); } @@ -5022,11 +5034,7 @@ sub process_textbook_request { undef($clonedom); } } - my $js = &processing_javascript(); - my $loaditems = { - onload => 'javascript:hideProcessing();', - }; - $r->print(&header('Course Creation',$js,$loaditems)); + $r->print(&header('Course Creation')); if (ref($can_request) eq 'HASH') { unless ((scalar(keys(%{$can_request})) == 1) && ($can_request->{'textbook'})) {