--- loncom/interface/lonmodifycourse.pm 2023/06/05 02:22:29 1.100
+++ loncom/interface/lonmodifycourse.pm 2023/09/05 03:42:31 1.103
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# handler for DC-only modifiable course settings
#
-# $Id: lonmodifycourse.pm,v 1.100 2023/06/05 02:22:29 raeburn Exp $
+# $Id: lonmodifycourse.pm,v 1.103 2023/09/05 03:42:31 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});
}
@@ -411,7 +411,8 @@ sub get_filters {
sub print_modification_menu {
my ($r,$cdesc,$domdesc,$dom,$type,$cid,$coursehash,$permission) = @_;
&print_header($r,$type);
- my ($ccrole,$categorytitle,$setquota_text,$setuploadquota_text,$cdom,$cnum);
+ my ($ccrole,$categorytitle,$setquota_text,$setuploadquota_text,$cdom,$cnum,
+ $extendedtype);
if (ref($coursehash) eq 'HASH') {
$cdom = $coursehash->{'domain'};
$cnum = $coursehash->{'num'};
@@ -444,17 +445,17 @@ sub print_modification_menu {
);
}
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';
+ $linktext{'setparms'} = 'View/Modify community owner, self-enrollment and table lifetime';
$linktext{'catsettings'} = 'View/Modify catalog settings for community';
} else {
$categorytitle = 'View Community Settings';
- $linktext{'setparms'} = 'View community owner';
+ $linktext{'setparms'} = 'View community owner, self-enrollment and table lifetime';
$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';
@@ -475,9 +476,12 @@ sub print_modification_menu {
}
$setquota_text = &mt('Total disk space allocated for storage of portfolio files in all groups in a course.');
$setuploadquota_text = &mt('Disk space allocated for storage of content uploaded directly to a course via Content Editor.');
+ my %settings = &Apache::lonnet::get('environment',['internal.coursecode','internal.textbook'],
+ $cdom,$cnum);
+ $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,64 +586,19 @@ sub print_modification_menu {
},
);
- my $menu_html =
+ $r->print(
'
';
- if ($type eq 'Community') {
- $menu_html .= &mt('Although almost all community settings can be modified by a Coordinator, the following may only be set or modified by a Domain Coordinator:');
- } else {
- $menu_html .= &mt('Although almost all course settings can be modified by a Course Coordinator, the following may only be set or modified by a Domain Coordinator:');
- }
- $menu_html .= '
'.&mt('Community owner (permitted to assign Coordinator roles in the community).').'
'."\n".
- '
'.&mt('Override defaults for who configures self-enrollment for this specific community').'
'."\n";
- } else {
- $menu_html .= '
'.&mt('Course owner (permitted to assign Course Coordinator roles in the course).').'
'."\n".
- '
'.&mt("Institutional code and default authentication (both required for auto-enrollment of students from institutional datafeeds).").'
'."\n";
- if (($type ne 'Placement') && &showcredits($dom)) {
- $menu_html .= '
'.&mt('Default credits earned by student on course completion.').'
'."\n";
- }
- $menu_html .= '
'.&mt('Override defaults for who configures self-enrollment for this specific course.').'
'."\n";
- }
- $menu_html .= '
'.$mysqltables_text.'
'."\n".
- '
'.$setquota_text.'
'."\n".
- '
'.$setuploadquota_text.'
'."\n".
- '
'.$anon_text.'
'."\n".
- '
'.$postsubmit_text.'
'."\n".
- '
'.$ltiauth_text.'
'."\n".
- '
'.$exttool_text.'
'."\n";
- my ($categories_link_start,$categories_link_end);
- if ($permission->{'catsettings'} eq 'edit') {
- $categories_link_start = '';
- $categories_link_end = '';
- }
- foreach my $item (@additional_params) {
- if ($type eq 'Community') {
- if ($item eq 'togglecats') {
- $menu_html .= '
'.&mt('Hiding/unhiding a community from the catalog (although can be [_1]configured[_2] to be modifiable by a Coordinator in community context).',$categories_link_start,$categories_link_end).'
'.&mt('Manual cataloging of a community (although can be [_1]configured[_2] to be modifiable by a Coordinator in community context).',$categories_link_start,$categories_link_end).'
'.&mt('Hiding/unhiding a course from the course catalog (although can be [_1]configured[_2] to be modifiable by a Course Coordinator in course context).',$categories_link_start,$categories_link_end).'
'.&mt('Manual cataloging of a course (although can be [_1]configured[_2] to be modifiable by a Course Coordinator in course context).',$categories_link_start,$categories_link_end).'
'.
+ ''."\n");
+ my @actions =
+ (''.
+ $lt{'back'}.'');
+ $r->print(' '.&Apache::lonhtmlcommon::actionbox(\@actions));
}
sub print_setquota {
my ($r,$cdom,$cnum,$cdesc,$type,$readonly) = @_;
my $lctype = lc($type);
- my $headline = &mt("Set disk space quotas for $lctype: [_1]",
- ''.$cdesc.'');
+ my $headline = '
'.&mt("Set disk space quotas for $lctype").'
'."\n".
+ '
'.&mt($type).': '.$cdesc.'
'."\n";
my %lt = &Apache::lonlocal::texthash(
'gpqu' => 'Disk space for storage of group portfolio files',
'upqu' => 'Disk space for storage of content directly uploaded to course via Content Editor',
@@ -795,15 +756,20 @@ sub print_setquota {
$cdom,$cnum);
my $coursequota = $settings{'internal.coursequota'};
my $uploadquota = $settings{'internal.uploadquota'};
- if ($coursequota eq '') {
- $coursequota = $staticdefaults{'coursequota'};
- }
- if ($uploadquota eq '') {
+ if (($uploadquota eq '') || ($coursequota eq '')) {
my %domdefs = &Apache::lonnet::get_domain_defaults($cdom);
my $quotatype = &Apache::lonuserutils::get_extended_type($cdom,$cnum,$type,\%settings);
- $uploadquota = $domdefs{$quotatype.'quota'};
if ($uploadquota eq '') {
- $uploadquota = $staticdefaults{'uploadquota'};
+ $uploadquota = $domdefs{$quotatype.'quota'};
+ if ($uploadquota eq '') {
+ $uploadquota = $staticdefaults{'uploadquota'};
+ }
+ }
+ if ($coursequota eq '') {
+ $coursequota = $domdefs{$quotatype.'coursequota'};
+ if ($coursequota eq '') {
+ $coursequota = $staticdefaults{'coursequota'};
+ }
}
}
&print_header($r,$type);
@@ -817,8 +783,8 @@ sub print_setquota {
$submit = '';
}
$r->print(<
-
$headline
$porthelpitem $lt{'gpqu'}: MB
@@ -831,9 +797,12 @@ $uploadhelpitem $lt{'upqu'}:
$hidden_elements
-$lt{'back'}
ENDDOCUMENT
+ my @actions =
+ (''.
+ $lt{'back'}.'');
+ $r->print(' '.&Apache::lonhtmlcommon::actionbox(\@actions));
return;
}
@@ -848,7 +817,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'};
@@ -863,22 +832,26 @@ sub print_set_anonsurvey_threshold {
my $hidden_elements = &hidden_form_elements();
my ($disabled,$submit);
if ($readonly) {
- $disabled = ' disabled="disabled"';
+ $disabled = ' disabled="disabled"';
} else {
$submit = '';
}
my $helpitem = &Apache::loncommon::help_open_topic('Modify_Anonsurvey_Threshold');
+ my $showtype = &mt($type);
$r->print(<$lt{'resp'}
+