--- loncom/interface/loncreateuser.pm 2009/03/14 13:30:09 1.287
+++ loncom/interface/loncreateuser.pm 2009/07/17 22:24:08 1.298
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.287 2009/03/14 13:30:09 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.298 2009/07/17 22:24:08 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -631,7 +631,7 @@ sub print_user_modification_page {
&Apache::lonuserutils::can_create_user($ccdomain,$context,
$usertype);
if (!$cancreate) {
- my $helplink = ' href="javascript:helpMenu('."'display'".')"';
+ my $helplink = 'javascript:helpMenu('."'display'".')';
my %usertypetext = (
official => 'institutional',
unofficial => 'non-institutional',
@@ -641,7 +641,12 @@ sub print_user_modification_page {
$response = ''.&mt('No match was found for the username ([_1]) in LON-CAPA domain: [_2]',$ccuname,$ccdomain).
' ';
}
- $response .= ''.&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.").' '.&mt('Contact the helpdesk for assistance.',$helplink).' ';
+ $response .= '
'
+ .&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.")
+ .' '
+ .&mt('Please contact the [_1]helpdesk[_2] for assistance.'
+ ,'',' ')
+ .'
';
$env{'form.phase'} = '';
&print_username_entry_form($r,$context,$response);
return;
@@ -1230,8 +1235,17 @@ sub display_existing_roles {
}
}
if ($rolesdisplay == 1) {
+ my $contextrole='';
+ if ($env{'request.course.id'}) {
+ $contextrole = 'Existing Roles in this Course';
+ } elsif ($env{'request.role'} =~ /^au\./) {
+ $contextrole = 'Existing Co-Author Roles in your Construction Space';
+ } else {
+ $contextrole = 'Existing Roles in this Domain';
+ }
$r->print('
'.$lt{'rer'}.' '.
+''.&mt($contextrole).'
'.
&Apache::loncommon::start_data_table("LC_createuser").
&Apache::loncommon::start_data_table_header_row().
''.$lt{'rev'}.' '.$lt{'ren'}.' '.$lt{'del'}.
@@ -1283,7 +1297,7 @@ sub new_coauthor_roles {
&Apache::loncommon::end_data_table_header_row()."\n".
&Apache::loncommon::start_data_table_row().'
-
+
'.$lt{'cau'}.'
'.$cudom.'_'.$cuname.'
@@ -1295,7 +1309,7 @@ sub new_coauthor_roles {
"javascript:pjump('."'date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset'".')">'.$lt{'sed'}.''."\n".
&Apache::loncommon::end_data_table_row()."\n".
&Apache::loncommon::start_data_table_row()."\n".
-'
+'
'.$lt{'caa'}.'
'.$cudom.'_'.$cuname.'
@@ -1346,7 +1360,7 @@ sub new_domain_roles {
$num_domain_level ++;
$domaintext .=
&Apache::loncommon::start_data_table_row().
-'
+'
'.$plrole.'
'.$thisdomain.'
@@ -2086,7 +2100,7 @@ sub update_user_data {
(!$forceid)) {
if ($env{'form.cid'} ne $uidhash{$env{'form.ccuname'}}) {
$env{'form.cid'} = $userenv{'id'};
- $no_forceid_alert = &mt('New Student/Employee ID does not match existing ID for this user.')
+ $no_forceid_alert = &mt('New student/employee ID does not match existing ID for this user.')
.' '
.&mt("Change is not permitted without checking the 'Force ID change' checkbox on the previous page.")
.' '."\n";
@@ -2485,8 +2499,11 @@ END
} else {
$r->print(&mt("You do not have the authority to change these fields given the user's current set of active/future [_1] roles:",$contextname));
}
- $r->print(''.$rolestr.' '.
- &mt('Contact your helpdesk for more information.',"javascript:helpMenu('display')").' ');
+ my $helplink = 'javascript:helpMenu('."'display'".')';
+ $r->print(''.$rolestr.' '
+ .&mt('Please contact your [_1]helpdesk[_2] for more information.'
+ ,'',' ')
+ .' ');
}
$r->print(''
.$no_forceid_alert
@@ -2672,8 +2689,8 @@ sub update_roles {
if ($key=~m{^form\.del\:([^_]+)_cr\.cr/($match_domain)/($match_username)/(\w+)$}) {
my ($url,$rdom,$rnam,$rolename) = ($1,$2,$3,$4);
# Delete custom role
- $r->print(&mt('Deleting custom role [_1] by [_2]:[_3] in [_4]',
- $rolename,$rnam,$rdom,$url).': '.
+ $r->print(&mt('Deleting custom role [_1] by [_2] in [_3]',
+ $rolename,$rnam.':'.$rdom,$url).': '.
&Apache::lonnet::assigncustomrole($env{'form.ccdomain'},
$env{'form.ccuname'},$url,$rdom,$rnam,$rolename,$now,
0,1,$context).' ');
@@ -2724,8 +2741,8 @@ 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]',
- $rolename,$rnam,$rdom,$url,''.$result.' ').' ');
+ $r->print(&mt('Re-enabling custom role [_1] by [_2] in [_3]: [_4]',
+ $rolename,$rnam.':'.$rdom,$url,''.$result.' ').' ');
if (!grep(/^cr$/,@rolechanges)) {
push(@rolechanges,'cr');
}
@@ -3141,14 +3158,14 @@ ENDCCF
my $privtext = &Apache::lonnet::plaintext($priv);
$r->print(&Apache::loncommon::start_data_table_row().
' '.$privtext.' '.
- ($courselevel{$priv}?' ':' ').
+ ($courselevel{$priv}?' ':' ').
' '.
- ($domainlevel{$priv}?' ':' ').
+ ($domainlevel{$priv}?' ':' ').
' '.
- ($systemlevel{$priv}?' ':' ').
+ ($systemlevel{$priv}?' ':' ').
' '.
&Apache::loncommon::end_data_table_row());
}
@@ -3340,8 +3357,11 @@ sub handler {
if ($env{'form.action'} ne 'dateselect') {
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/createuser",
- text=>"User Management"});
+ text=>"User Management",
+ help=>'Course_Create_Class_List,Course_Change_Privileges,Course_View_Class_List,Course_Editing_Custom_Roles,Course_Add_Student,Course_Drop_Student,Course_Automated_Enrollment,Course_Self_Enrollment,Course_Manage_Group'});
}
+ #SD Following files not added to help, because the corresponding .tex-files seem to
+ #be missing: Course_Approve_Selfenroll,Course_User_Logs,
my ($permission,$allowed) =
&Apache::lonuserutils::get_permission($context);
if (!$allowed) {
@@ -3635,141 +3655,160 @@ END
sub print_main_menu {
my ($permission,$context) = @_;
my %links = (
- domain => {
- upload => 'Upload a File of Users',
- singleuser => 'Add/Modify a Single User',
- listusers => 'Manage Multiple Users',
- },
- author => {
- upload => 'Upload a File of Co-authors',
- singleuser => 'Add/Modify a Single Co-author',
- listusers => 'Display Co-authors and Manage Multiple Users',
- },
- course => {
- upload => 'File of Course Users',
- singleuser => 'Single Course User',
- listusers => 'Course User Lists',
- },
- );
- 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 =>
- [
- ]},
- );
-
+ domain => {
+ upload => 'Upload a File of Users',
+ singleuser => 'Add/Modify a User',
+ listusers => 'Manage Users',
+ },
+ author => {
+ upload => 'Upload a File of Co-authors',
+ singleuser => 'Add/Modify a Co-author',
+ listusers => 'Manage Co-authors',
+ },
+ course => {
+ upload => 'Upload a File of Course Users',
+ singleuser => 'Add/Modify a Course User',
+ listusers => 'Manage Course Users',
+ },
+ );
+ my @menu = ( {categorytitle => 'Single Users',
+ items =>
+ [
+ {
+ 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 => 'Multiple 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}{'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 => 'Administration',
+ 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.',
- });
-
+
+ push(@{ $menu[2]->{items} }, #Category: Administration
+ {
+ 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.',
- });
+ my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity();
+
+ push(@{ $menu[0]->{items} }, #Category: Single Users
+ {
+ linktext => 'Add/Modify a 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} }, #Category: Multiple Users
+ {
+ 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.',
+ },
+ );
+ push(@{ $menu[2]->{items} }, #Category: Administration
+ {
+ 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.',
+ },
+ {
+ 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.',
+ },
+ );
if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}) {
- push(@{ $menu[1]->{items} },
- { linktext => 'Enrollment Requests',
- icon => 'selfenrl-queue.png',
- #help => 'Course_Approve_Selfenroll',
- url => '/adm/createuser?action=selfenrollqueue',
- permission => $permission->{'cusr'},
- linktitle =>'Approve or reject enrollment requests.',
- });
+ push(@{ $menu[2]->{items} },
+ {
+ linktext => 'Enrollment Requests',
+ icon => 'selfenrl-queue.png',
+ #help => 'Course_Approve_Selfenroll',
+ url => '/adm/createuser?action=selfenrollqueue',
+ permission => $permission->{'cusr'},
+ linktitle =>'Approve or reject enrollment requests.',
+ },
+ );
}
-
+
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.',
- });
+
+ 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.',
+ },
+ );
+
+ }
};
return Apache::lonhtmlcommon::generate_menu(@menu);
# { text => 'View Log-in History',
@@ -4002,9 +4041,7 @@ ENDSCRIPT
if (ref($lt) eq 'HASH') {
$title = $lt->{$item};
}
- $output .=
- &Apache::lonhtmlcommon::row_title($title,
- 'LC_selfenroll_pick_box_title','LC_oddrow_value')."\n";
+ $output .= &Apache::lonhtmlcommon::row_title($title);
if ($item eq 'types') {
my $curr_types = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_types'};
my $showdomdesc = 1;
@@ -4945,7 +4982,7 @@ sub role_display_filter {
&mt('[_1]Note:[_2] Only changes made from servers running LON-CAPA 2.6.99.0 or later are displayed.');
if ($version) {
$output .= ' '.&mt('This server is version [_3].','',' ',$version); }
- $output .= ' ';
+ $output .= ' ';
return $output;
}
@@ -5358,7 +5395,7 @@ sub build_search_response {
.&mt("You are not authorized to create new users in your current role's domain - [_1]."
,''.$env{'request.role.domain'}.' ')
.' '
- .&mt('Contact the [_1]helpdesk[_2] if you need to create a new user.'
+ .&mt('Please contact the [_1]helpdesk[_2] if you need to create a new user.'
,' '
,' ')
.' ';
@@ -5753,7 +5790,7 @@ sub update_selfenroll_config {
}
} else {
my @differences =
- &compare_arrays(\@currnotified,\@newnotified);
+ &Apache::loncommon::compare_arrays(\@currnotified,\@newnotified);
if (@differences > 0) {
if (@newnotified > 0) {
$changes{'internal.selfenroll_notifylist'} = join(',',@newnotified);
@@ -5763,7 +5800,7 @@ sub update_selfenroll_config {
}
}
} else {
- my @differences = &compare_arrays(\@currnotified,\@newnotified);
+ my @differences = &Apache::loncommon::compare_arrays(\@currnotified,\@newnotified);
if (@differences > 0) {
if (@newnotified > 0) {
$changes{'internal.selfenroll_notifylist'} = join(',',@newnotified);
@@ -5953,22 +5990,6 @@ sub update_selfenroll_config {
return;
}
-sub compare_arrays {
- my ($arrayref1,$arrayref2) = @_;
- my (@difference,%count);
- @difference = ();
- %count = ();
- if ((ref($arrayref1) eq 'ARRAY') && (ref($arrayref2) eq 'ARRAY')) {
- foreach my $element (@{$arrayref1}, @{$arrayref2}) { $count{$element}++; }
- foreach my $element (keys(%count)) {
- if ($count{$element} == 1) {
- push(@difference,$element);
- }
- }
- }
- return @difference;
-}
-
sub get_selfenroll_titles {
my @row = ('types','registered','enroll_dates','access_dates','section',
'approval','limit');