--- loncom/interface/lonconfigsettings.pm 2023/07/05 17:34:15 1.21.4.13.2.10 +++ loncom/interface/lonconfigsettings.pm 2025/03/15 01:03:33 1.74 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set domain-wide configuration settings # -# $Id: lonconfigsettings.pm,v 1.21.4.13.2.10 2023/07/05 17:34:15 raeburn Exp $ +# $Id: lonconfigsettings.pm,v 1.74 2025/03/15 01:03:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,6 +35,7 @@ use Apache::lonnet; use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonlocal; +use Apache::lonparmset(); use Apache::courseclassifier(); use LONCAPA qw(:DEFAULT :match); use File::Copy; @@ -268,6 +269,7 @@ $jscript if (grep(/^ltitools$/,@actions)) { $onload .= "toggleLTITools(document.display,'passback','add');". "toggleLTITools(document.display,'roster','add');". + "toggleLTITools(document.display,'returnurl','add');". "toggleLTITools(document.display,'user','add');"; if (ref($values) eq 'HASH') { if (ref($values->{'ltitools'}) eq 'HASH') { @@ -275,6 +277,7 @@ $jscript for (my $i=0; $i<$numltitools; $i++) { $onload .= "toggleLTITools(document.display,'passback','$i');". "toggleLTITools(document.display,'roster','$i');". + "toggleLTITools(document.display,'returnurl','$i');". "toggleLTITools(document.display,'user','$i');"; } } @@ -288,6 +291,10 @@ $jscript if (grep(/^wafproxy$/,@actions)) { $onload .= "toggleWAF();checkWAF();updateWAF();"; } + if (grep(/^proctoring$/,@actions)) { + $onload .= "toggleProctoring(document.display,'proctorio');". + "toggleProctoring(document.display,'examity');"; + } if (grep(/^scantron$/,@actions)) { $onload .= "toggleScantron(document.display);"; } @@ -385,6 +392,9 @@ $jscript if (grep(/^localization$/,@actions)) { $onload .= "toggleTimeZone();"; } + if (grep(/^grading$/,@actions)) { + $onload .= 'toggleGrading(document.display);toggleHiddenTotalsSec(document.display);'; + } if ($onload) { my %loaditems = ( 'onload' => $onload, @@ -402,6 +412,9 @@ $jscript '); + if ($container) { + &Apache::lonparmset::startSettingsScreen($r,$container,$crstype); + } $r->print('
'); return; @@ -566,6 +579,9 @@ sub print_footer { } if ($phase eq 'process') { $r->print('
'); + if ($container) { + &Apache::lonparmset::endSettingsScreen($r); + } $r->print(&Apache::loncommon::end_page()); } return; @@ -642,8 +658,8 @@ sub make_changes { if ($context eq 'course') { $footer_text = 'Back to display/edit settings'; } - &print_footer($r,$phase,'display',$footer_text,\@actions,$container,$parm_permission); $r->print('

'); + &print_footer($r,$phase,'display',$footer_text,\@actions,$container,$parm_permission); return \%lastact; } @@ -673,12 +689,15 @@ sub display_settings { if (ref($values) eq 'HASH') { $settings = $values->{$item}; } - if ($item eq 'usersessions') { - $r->print(''."\n"); + if (($item eq 'usersessions') || ($item eq 'ssl')) { + unless ($got_check_uncheck) { + $r->print(''."\n"); + $got_check_uncheck = 1; + } } elsif ($item eq 'selfcreation') { if (ref($values) eq 'HASH') { $settings = $values->{'usercreation'}; @@ -764,6 +783,9 @@ sub display_settings { } $r->print(''); } + if ($container) { + &Apache::lonparmset::endSettingsScreen($r); + } $r->print(&Apache::loncommon::end_page()); return; } @@ -826,6 +848,9 @@ sub display_choices { $r->print('
'); $r->print(&print_footer($r,$phase,'display','Display',undef,$container,$parm_permission)); $r->print(''); + if ($container) { + &Apache::lonparmset::endSettingsScreen($r); + } $r->print(&Apache::loncommon::end_page()); return; } @@ -1095,9 +1120,13 @@ sub ltitools_toggle_js { function toggleLTITools(form,setting,item) { var radioname = ''; var divid = ''; - if ((setting == 'passback') || (setting == 'roster')) { + if ((setting == 'passback') || (setting == 'roster') || (setting == 'returnurl')) { radioname = 'ltitools_'+setting+'_'+item; - divid = 'ltitools_'+setting+'time_'+item; + if (setting == 'returnurl') { + divid = 'ltitools_course'+setting+'_'+item; + } else { + divid = 'ltitools_'+setting+'time_'+item; + } var num = form.elements[radioname].length; if (num) { var setvis = '';