--- loncom/interface/loncreateuser.pm 2008/12/08 22:46:28 1.267
+++ loncom/interface/loncreateuser.pm 2008/12/15 00:54:54 1.268.2.2
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.267 2008/12/08 22:46:28 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.268.2.2 2008/12/15 00:54:54 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2480,7 +2480,7 @@ sub update_roles {
my $result = &Apache::lonnet::assigncustomrole(
$env{'form.ccdomain'}, $env{'form.ccuname'},
$url,$rdom,$rnam,$rolename,0,$now,undef,$context);
- $r->print(&mt('Re-enabling custom role [_1] by [_2]@[_3] in [_4] : [_5]',
+ $r->print(&mt('Re-enabling custom role [_1] by [_2]:[_3] in [_4] : [_5]',
$rolename,$rnam,$rdom,$url,''.$result.'').'
');
if (!grep(/^cr$/,@rolechanges)) {
push(@rolechanges,'cr');
@@ -2928,34 +2928,35 @@ sub make_script_template {
my ($priv_item, $dummy) = split(/\&/,$priv);
$role_c{$priv_item} = 1;
}
+ my %role_d;
+ @temp = split(/:/,$Apache::lonnet::pr{$role.':d'});
+ foreach my $priv(@temp) {
+ my ($priv_item, $dummy) = split(/\&/,$priv);
+ $role_d{$priv_item} = 1;
+ }
+ my %role_s;
+ @temp = split(/:/,$Apache::lonnet::pr{$role.':s'});
+ foreach my $priv(@temp) {
+ my ($priv_item, $dummy) = split(/\&/,$priv);
+ $role_s{$priv_item} = 1;
+ }
foreach my $priv_item (keys(%full_c)) {
my ($priv, $dummy) = split(/\&/,$priv_item);
- if (exists($role_c{$priv})) {
+ if ((exists($role_c{$priv})) || (exists($role_d{$priv})) ||
+ (exists($role_s{$priv}))) {
$return_script .= "document.form1.$priv"."_c.checked = true;\n";
} else {
$return_script .= "document.form1.$priv"."_c.checked = false;\n";
}
}
- my %role_d;
- @temp = split(/:/,$Apache::lonnet::pr{$role.':d'});
- foreach my $priv(@temp) {
- my ($priv_item, $dummy) = split(/\&/,$priv);
- $role_d{$priv_item} = 1;
- }
foreach my $priv_item (keys(%full_d)) {
my ($priv, $dummy) = split(/\&/,$priv_item);
- if (exists($role_d{$priv})) {
+ if ((exists($role_d{$priv})) || (exists($role_s{$priv}))) {
$return_script .= "document.form1.$priv"."_d.checked = true;\n";
} else {
$return_script .= "document.form1.$priv"."_d.checked = false;\n";
}
}
- my %role_s;
- @temp = split(/:/,$Apache::lonnet::pr{$role.':s'});
- foreach my $priv(@temp) {
- my ($priv_item, $dummy) = split(/\&/,$priv);
- $role_s{$priv_item} = 1;
- }
foreach my $priv_item (keys(%full_s)) {
my ($priv, $dummy) = split(/\&/,$priv_item);
if (exists($role_s{$priv})) {
@@ -3364,127 +3365,101 @@ sub print_main_menu {
listusers => 'Display Co-authors and Manage Multiple Users',
},
course => {
- upload => 'File of Course Users',
- singleuser => 'Single Course User',
- listusers => 'Course User Lists',
+ upload => 'Upload a File of Course Users',
+ singleuser => 'Add/Modify a Single Course User',
+ listusers => 'Display Class Lists and Manage Multiple Users',
},
);
- my @menu = ( {categorytitle => 'Add Users',
- items =>
- [{
- linktext => $links{$context}{'upload'},
- icon => 'sctr.png',
- #help => 'Course_Create_Class_List',
- url => '/adm/createuser?action=upload',
- permission => $permission->{'cusr'},
- linktitle => 'Upload a CSV or a text file containing users.',
- },
- {
- linktext => $links{$context}{'singleuser'},
- icon => 'edit-redo.png',
- #help => 'Course_Change_Privileges',
- url => '/adm/createuser?action=singleuser',
- permission => $permission->{'cusr'},
- linktitle => 'Add a user with a certain role to this course.',
- }]},
- {categorytitle => 'Administration',
- items =>
- [{
- linktext => $links{$context}{'listusers'},
- icon => 'edit-find.png',
- #help => 'Course_View_Class_List',
- url => '/adm/createuser?action=listusers',
- permission => ($permission->{'view'} || $permission->{'cusr'}),
- linktitle => 'Show and manage users of this course.',
- }]},
- {categorytitle => 'Configuration',
- items =>
- [
- ]},
- );
-
- if ($context eq 'domain'){
-
- push(@{ $menu[1]->{items} },
- { linktext => 'Custom Roles',
- icon => 'emblem-photos.png',
- #help => 'Course_Editing_Custom_Roles',
- url => '/adm/createuser?action=custom',
- permission => $permission->{'custom'},
- linktitle => 'Configure a custom role.',
- });
-
- }elsif ($context eq 'course'){
- my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();
-
- push(@{ $menu[0]->{items} },
- { linktext => 'Single Student',
- #help => 'Course_Add_Student',
- icon => 'list-add.png',
- url => '/adm/createuser?action=singlestudent',
- permission => $permission->{'cusr'},
- linktitle => 'Add a user with the role student to this course.',
- });
-
- push(@{ $menu[1]->{items} },
- { linktext => 'Drop Students',
- icon => 'edit-undo.png',
- #help => 'Course_Drop_Student',
- url => '/adm/createuser?action=drop',
- permission => $permission->{'cusr'},
- linktitle =>'Remove a student from this course.',
- },
- { linktext => 'Custom Roles',
- icon => 'emblem-photos.png',
- #help => 'Course_Editing_Custom_Roles',
- url => '/adm/createuser?action=custom',
- permission => $permission->{'custom'},
- linktitle => 'Configure a custom role.',
- });
-
- if (!exists($permission->{'cusr_section'})){
-
- push(@{ $menu[2]->{items} },
- { linktext => 'Automated Enrollment',
- icon => 'roles.png',
- #help => 'Course_Automated_Enrollment',
- permission => (&Apache::lonnet::auto_run($cnum,$cdom)
- && $permission->{'cusr'}),
- url => '/adm/populate',
- linktitle => 'Automated enrollment manager.',
- },
- { linktext => 'User Self-Enrollment',
- icon => 'cstr.png',
- #help => 'Course_Self_Enrollment',
- url => '/adm/createuser?action=selfenroll',
- permission => $permission->{'cusr'},
- linktitle => 'Configure user self enrollment.',
- });
-
- }
-
- push(@{ $menu[2]->{items} },
- { linktext => 'Course Groups',
- icon => 'conf.png',
- #help => 'Course_Manage_Group',
- url => '/adm/coursegroups?refpage=cusr',
- permission => $permission->{'grp_manage'},
- linktitle => 'Manage course groups.',
- },
- { linktext => 'Change Logs',
- icon => 'document-properties.png',
- #help => 'Course_User_Logs',
- url => '/adm/createuser?action=changelogs',
- permission => $permission->{'cusr'},
- linktitle => 'View change log.',
- });
- };
-return Apache::lonhtmlcommon::generate_menu(@menu);
+ my @menu =
+ (
+ { text => $links{$context}{'upload'},
+ help => 'Course_Create_Class_List',
+ action => 'upload',
+ permission => $permission->{'cusr'},
+ },
+ { text => $links{$context}{'singleuser'},
+ help => 'Course_Change_Privileges',
+ action => 'singleuser',
+ permission => $permission->{'cusr'},
+ },
+ { text => $links{$context}{'listusers'},
+ help => 'Course_View_Class_List',
+ action => 'listusers',
+ permission => ($permission->{'view'} || $permission->{'cusr'}),
+ },
+ );
+ if ($context eq 'domain' || $context eq 'course') {
+ my $customlink = { text => 'Edit Custom Roles',
+ help => 'Course_Editing_Custom_Roles',
+ action => 'custom',
+ permission => $permission->{'custom'},
+ };
+ push(@menu,$customlink);
+ }
+ if ($context eq 'course') {
+ my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();
+ my @courselinks =
+ (
+ { text => 'Enroll a Single Student',
+ help => 'Course_Add_Student',
+ action => 'singlestudent',
+ permission => $permission->{'cusr'},
+ },
+ { text => 'Drop Students',
+ help => 'Course_Drop_Student',
+ action => 'drop',
+ permission => $permission->{'cusr'},
+ });
+ if (!exists($permission->{'cusr_section'})) {
+ push(@courselinks,
+ { text => 'Automated Enrollment Manager',
+ help => 'Course_Automated_Enrollment',
+ permission => (&Apache::lonnet::auto_run($cnum,$cdom)
+ && $permission->{'cusr'}),
+ url => '/adm/populate',
+ },
+ { text => 'Configure User Self-enrollment',
+ help => 'Course_Self_Enrollment',
+ action => 'selfenroll',
+ permission => $permission->{'cusr'},
+ });
+ }
+ push(@courselinks,
+ { text => 'Manage Course Groups',
+ help => 'Course_Manage_Group',
+ permission => $permission->{'grp_manage'},
+ url => '/adm/coursegroups?refpage=cusr',
+ },
+ { text => 'View Change Logs',
+ help => 'Course_User_Logs',
+ action => 'changelogs',
+ permission => $permission->{'cusr'},
+ },);
# { text => 'View Log-in History',
# help => 'Course_User_Logins',
# action => 'logins',
# permission => $permission->{'cusr'},
# });
+ push(@menu,@courselinks);
+ }
+ my $menu_html = '';
+ foreach my $menu_item (@menu) {
+ next if (! $menu_item->{'permission'});
+ $menu_html.='
'; + if (exists($menu_item->{'help'})) { + $menu_html.= + &Apache::loncommon::help_open_topic($menu_item->{'help'}); + } + $menu_html.=''; + if (exists($menu_item->{'url'})) { + $menu_html.=qq{}; + } else { + $menu_html.= + qq{}; } + $menu_html.= &mt($menu_item->{'text'}).''; + $menu_html.='
'; + } + return $menu_html; } sub restore_prev_selections {