--- loncom/interface/loncreateuser.pm 2023/06/20 14:03:52 1.468
+++ loncom/interface/loncreateuser.pm 2023/08/01 15:56:32 1.469
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.468 2023/06/20 14:03:52 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.469 2023/08/01 15:56:32 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -4920,7 +4920,7 @@ sub handler {
if (&Apache::lonnet::auto_run($cnum,$cdom) && (($permission->{'cusr'}) || ($permission->{'view'}))) {
push(@allhelp,'Course_Automated_Enrollment');
}
- if ($permission->{'selfenrolladmin'}) {
+ if (($permission->{'selfenrolladmin'}) || ($permission->{'selfenrollview'})) {
push(@allhelp,'Course_Approve_Selfenroll');
}
}
@@ -5460,8 +5460,9 @@ sub handler {
''.&mt('You do not have permission to modify dates or sections for users').'');
}
} elsif ($env{'form.action'} eq 'selfenroll') {
- if ($permission->{selfenrolladmin}) {
- my %currsettings = (
+ my %currsettings;
+ if ($permission->{selfenrolladmin} || $permission->{selfenrollview}) {
+ %currsettings = (
selfenroll_types => $env{'course.'.$cid.'.internal.selfenroll_types'},
selfenroll_registered => $env{'course.'.$cid.'.internal.selfenroll_registered'},
selfenroll_section => $env{'course.'.$cid.'.internal.selfenroll_section'},
@@ -5477,6 +5478,8 @@ sub handler {
default_enrollment_end_date => $env{'course.'.$cid.'.default_enrollment_end_date'},
uniquecode => $env{'course.'.$cid.'.internal.uniquecode'},
);
+ }
+ if ($permission->{selfenrolladmin}) {
push(@{$brcrum},
{href => '/adm/createuser?action=selfenroll',
text => "Configure Self-enrollment",
@@ -5497,6 +5500,16 @@ sub handler {
$r->print('
'.&mt('Self-enrollment with a student role').'
'."\n");
&update_selfenroll_config($r,$cid,$cdom,$cnum,$context,$crstype,\%currsettings);
}
+ } elsif ($permission->{selfenrollview}) {
+ push(@{$brcrum},
+ {href => '/adm/createuser?action=selfenroll',
+ text => "View Self-enrollment configuration",
+ help => 'Course_Self_Enrollment'});
+ $args = { bread_crumbs => $brcrum,
+ bread_crumbs_component => 'Self-enrollment Settings'};
+ $r->print(&header(undef,$args));
+ $r->print(''.&mt('Self-enrollment with a student role').'
'."\n");
+ &print_selfenroll_menu($r,'course',$cid,$cdom,$cnum,\%currsettings,'',1);
} else {
$r->print(&header(undef,{'no_nav_bar' => 1}).
''.&mt('You do not have permission to configure self-enrollment').'');
@@ -6028,7 +6041,7 @@ sub print_main_menu {
icon => 'selfenrl-queue.png',
#help => 'Course_Approve_Selfenroll',
url => '/adm/createuser?action=selfenrollqueue',
- permission => $permission->{'selfenrolladmin'},
+ permission => $permission->{'selfenrolladmin'} || $permission->{'selfenrollview'},
linktitle =>'Approve or reject enrollment requests.',
},
);
@@ -6055,7 +6068,7 @@ sub print_main_menu {
icon => 'self_enroll.png',
#help => 'Course_Self_Enrollment',
url => '/adm/createuser?action=selfenroll',
- permission => $permission->{'selfenrolladmin'},
+ permission => $permission->{'selfenrolladmin'} || $permission->{'selfenrollview'},
linktitle => 'Configure user self-enrollment.',
},
);
@@ -6326,8 +6339,7 @@ ENDSCRIPT
'// ]]>'."\n".
''."\n".
''.$lt->{'selfenroll'}.'
'."\n";
-
- my $visactions = &cat_visibility();
+ my $visactions = &cat_visibility($cdom);
my ($cathash,%cattype);
my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
if (ref($domconfig{'coursecategories'}) eq 'HASH') {
@@ -6873,6 +6885,7 @@ sub visible_in_stdcat {
}
sub cat_visibility {
+ my ($cdom) = @_;
my %visactions = &Apache::lonlocal::texthash(
vis => 'This course/community currently appears in the Course/Community Catalog for this domain.',
gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.',
@@ -6885,13 +6898,24 @@ sub cat_visibility {
dc_chgconf => 'Ask a domain coordinator to change the Catalog type for this domain.',
dc_setcode => 'Ask a domain coordinator to assign a six character code to the course',
dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.',
- dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".',
+ dc_addinst => 'Ask a domain coordinator to enable catalog display of "Official courses (with institutional codes)".',
dc_instcode => 'Ask a domain coordinator to assign an institutional code (if this is an official course).',
dc_catalog => 'Ask a domain coordinator to enable or create at least one course category in the domain.',
dc_categories => 'Ask a domain coordinator to create a hierarchy of categories and sub categories for courses in the domain.',
dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',
dc_addcat => 'Ask a domain coordinator to assign a category to the course.',
);
+ if ($env{'request.role'} eq "dc./$cdom/") {
+ $visactions{'dc_chgconf'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to change the Catalog type for this domain.','»');
+ $visactions{'dc_setcode'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to assign a six character code to the course.','»');
+ $visactions{'dc_unhide'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to change the "Exclude from course catalog" setting.','»');
+ $visactions{'dc_addinst'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to enable catalog display of "Official courses (with institutional codes)".','»');
+ $visactions{'dc_instcode'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify course owner, institutional code ... " to assign an institutional code (if this is an official course).','»');
+ $visactions{'dc_catalog'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to enable or create at least one course category in the domain.','»');
+ $visactions{'dc_categories'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to create a hierarchy of categories and sub categories for courses in the domain.','»');
+ $visactions{'dc_chgcat'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify catalog settings for course" to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','»');
+ $visactions{'dc_addcat'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify catalog settings for course" to assign a category to the course.','»');
+ }
$visactions{'unhide'} = &mt('Use [_1]Categorize course[_2] to change the "Exclude from course catalog" setting.','','"');
$visactions{'chgcat'} = &mt('Use [_1]Categorize course[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"','"');
$visactions{'addcat'} = &mt('Use [_1]Categorize course[_2] to assign a category to the course.','"','"');
@@ -9951,7 +9975,7 @@ sub update_selfenroll_config {
} else {
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.'));
}
- my $visactions = &cat_visibility();
+ my $visactions = &cat_visibility($cdom);
my ($cathash,%cattype);
my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
if (ref($domconfig{'coursecategories'}) eq 'HASH') {