--- loncom/interface/lonmodifycourse.pm 2023/08/03 15:57:23 1.102 +++ loncom/interface/lonmodifycourse.pm 2024/12/20 00:24:38 1.107 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # handler for DC-only modifiable course settings # -# $Id: lonmodifycourse.pm,v 1.102 2023/08/03 15:57:23 raeburn Exp $ +# $Id: lonmodifycourse.pm,v 1.107 2024/12/20 00:24:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -104,7 +104,7 @@ sub get_enrollment_settings { my ($cdom,$cnum) = @_; my ($internals,$accessdates) = &autoenroll_keys(); my @items; - if ((ref($internals) eq 'ARRAY') && (ref($accessdates) eq 'ARRAY')) { + if ((ref($internals) eq 'ARRAY') && (ref($accessdates) eq 'ARRAY')) { @items = map { 'internal.'.$_; } (@{$internals}); push(@items,@{$accessdates}); } @@ -433,6 +433,8 @@ sub print_modification_menu { 'setpostsubmit' => 'View/Modify submit button behavior, post-submission', 'setltiauth' => 'View/Modify re-authentication requirement for LTI launch of deep-linked item', 'setexttool' => 'View/Modify External Tools permissions', + 'setcrsauthor' => 'View/Modify In-course Authoring permissions', + 'setcrseditors' => 'View/Modify permitted course resource editors', ); } else { %linktext = ( @@ -442,10 +444,12 @@ sub print_modification_menu { 'setpostsubmit' => 'View submit button behavior, post-submission', 'setltiauth' => 'View re-authentication requirement for LTI launch of deep-linked item', 'setexttool' => 'View External Tools permissions', + 'setcrsauthor' => 'View In-course Authoring permissions', + 'setcrseditors' => 'View permitted course resource editors', ); } if ($type eq 'Community') { - if ($permission->{'setparms'} eq 'edit') { + if ($permission->{'setparms'} eq 'edit') { $categorytitle = 'View/Modify Community Settings'; $linktext{'setparms'} = 'View/Modify community owner, self-enrollment and table lifetime'; $linktext{'catsettings'} = 'View/Modify catalog settings for community'; @@ -455,7 +459,7 @@ sub print_modification_menu { $linktext{'catsettings'} = 'View catalog settings for community'; } $setquota_text = &mt('Total disk space allocated for storage of portfolio files in all groups in a community.'); - $setuploadquota_text = &mt('Disk space allocated for storage of content uploaded directly to a community via Content Editor.'); + $setuploadquota_text = &mt('Disk space allocated for storage of content uploaded directly to a community via Content Editor.'); } else { if ($permission->{'setparms'} eq 'edit') { $categorytitle = 'View/Modify Course Settings'; @@ -481,7 +485,7 @@ sub print_modification_menu { $extendedtype = ucfirst(&Apache::lonuserutils::get_extended_type($cdom,$cnum,$type,\%settings)); } my $anon_text = &mt('Responder threshold required to display anonymous survey submissions.'); - my $postsubmit_text = &mt('Override defaults for submit button behavior post-submission for this specific course.'); + my $postsubmit_text = &mt('Override defaults for submit button behavior post-submission for this specific course.'); my $mysqltables_text = &mt('Override default for lifetime of "temporary" MySQL tables containing student performance data.'); my $ltiauth_text = &mt('Override default for requirement for re-authentication for LTI-limited launch of deep-linked item.'); my $exttool_text = &mt('Override default permissions for external tools use for this specific course.'); @@ -582,6 +586,22 @@ sub print_modification_menu { permission => $permission->{'setexttool'}, linktitle => '', }, + { + linktext => $linktext{'setcrsauthor'}, + icon => 'crsauthor.png', + #help => '', + url => &phaseurl('setcrsauthor'), + permission => $permission->{'setcrsauthor'}, + linktitle => '', + }, + { + linktext => $linktext{'setcrseditors'}, + icon => 'crseditors.png', + #help => '', + url => &phaseurl('setcrseditors'), + permission => $permission->{'setcrseditors'}, + linktitle => '', + }, ] }, ); @@ -615,9 +635,9 @@ sub print_adhocrole_selected { } $selectrole = 1; } elsif ($permission->{'adhocrole'} eq 'custom') { - my ($okroles,$description) = &Apache::lonnet::get_my_adhocroles($env{'form.pickedcourse'},1); + my ($okroles,$description) = &Apache::lonnet::get_my_adhocroles($env{'form.pickedcourse'},1); if (ref($okroles) eq 'ARRAY') { - my $possrole = $env{'form.adhocrole'}; + my $possrole = $env{'form.adhocrole'}; if (($possrole ne '') && (grep(/^\Q$possrole\E$/,@{$okroles}))) { my $confname = &Apache::lonnet::get_domainconfiguser($cdom); $newrole = "cr/$cdom/$confname/$possrole./$cdom/$cnum"; @@ -817,7 +837,7 @@ sub print_set_anonsurvey_threshold { my %settings = &Apache::lonnet::get('environment',['internal.anonsurvey_threshold'],$cdom,$cnum); my $threshold = $settings{'internal.anonsurvey_threshold'}; if ($threshold eq '') { - my %domconfig = + my %domconfig = &Apache::lonnet::get_dom('configuration',['coursedefaults'],$cdom); if (ref($domconfig{'coursedefaults'}) eq 'HASH') { $threshold = $domconfig{'coursedefaults'}{'anonsurvey_threshold'}; @@ -832,7 +852,7 @@ sub print_set_anonsurvey_threshold { my $hidden_elements = &hidden_form_elements(); my ($disabled,$submit); if ($readonly) { - $disabled = ' disabled="disabled"'; + $disabled = ' disabled="disabled"'; } else { $submit = ''; } @@ -872,11 +892,11 @@ sub print_postsubmit_config { if ($postsubmit eq '') { my %domconfig = &Apache::lonnet::get_dom('configuration',['coursedefaults'],$cdom); - $postsubmit = 1; + $postsubmit = 1; if (ref($domconfig{'coursedefaults'}) eq 'HASH') { if (ref($domconfig{'coursedefaults'}{'postsubmit'}) eq 'HASH') { if ($domconfig{'coursedefaults'}{'postsubmit'}{'client'} eq 'off') { - $postsubmit = 0; + $postsubmit = 0; } } } @@ -910,7 +930,7 @@ sub print_postsubmit_config {