--- loncom/interface/loncreateuser.pm 2008/08/27 20:59:56 1.260 +++ loncom/interface/loncreateuser.pm 2008/12/06 12:49:18 1.266 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.260 2008/08/27 20:59:56 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.266 2008/12/06 12:49:18 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,11 +33,13 @@ package Apache::loncreateuser; =head1 NAME -Apache::loncreateuser - handler to create users and custom roles +Apache::loncreateuser.pm =head1 SYNOPSIS -Apache::loncreateuser provides an Apache handler for creating users, + Handler to create users and custom roles + + Provides an Apache handler for creating users, editing their login parameters, roles, and removing roles, and also creating and assigning custom roles. @@ -833,10 +835,10 @@ ENDNOPORTPRIV $addrolesdisplay = $add_domainroles; } $r->print(&course_level_dc($env{'request.role.domain'},'Course')); - $r->print('
'."\n"); + $r->print('
'."\n"); } elsif ($context eq 'author') { if ($addrolesdisplay) { - $r->print('
print('
print(' onClick="auth_check()" \>'."\n"); } else { @@ -848,7 +850,7 @@ ENDNOPORTPRIV } } else { $r->print(&course_level_table(%inccourses)); - $r->print('
'."\n"); + $r->print('
'."\n"); } } $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); @@ -2246,8 +2248,8 @@ sub update_roles { my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'}, $env{'form.ccuname'},$url,$role,0,$now,'','', $context); - $output = &mt('Re-enabling [_1] in [_2]: [_3]', - $role,$url,$result).'
'; + $output = &mt('Re-enabling [_1] in [_2]: [_3]', + $role,$url,''.$result.'').'
'; } $r->print($output); if (!grep(/^\Q$role\E$/,@rolechanges)) { @@ -2260,8 +2262,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]@[_3] in [_4] : [_5]', + $rolename,$rnam,$rdom,$url,''.$result.'').'
'); if (!grep(/^cr$/,@rolechanges)) { push(@rolechanges,'cr'); } @@ -2605,7 +2607,7 @@ sub custom_role_editor { my @template_roles = ("cc","in","ta","ep","st"); foreach my $role (@template_roles) { $head_script .= &make_script_template($role); - $button_code .= &make_button_code($role); + $button_code .= &make_button_code($role).' '; } $head_script .= "\n".$jsback."\n".''."\n"; $r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); @@ -2625,10 +2627,15 @@ sub custom_role_editor { 'crl' => "Course Level", 'dml' => "Domain Level", 'ssl' => "System Level"); - $r->print(&mt('Select a Template').'
'); - $r->print('
'); - $r->print($button_code); - $r->print('
'); + + $r->print('
' + .'
' + .''.&mt('Select a Template').'' + .$button_code + .'
' + .'
' + ); + $r->print(< @@ -2731,7 +2738,7 @@ sub make_script_template { sub make_button_code { my ($role) = @_; my $label = &Apache::lonnet::plaintext($role); - my $button_code = ''; + my $button_code = ''; return ($button_code); } # ---------------------------------------------------------- Call to definerole @@ -3124,102 +3131,127 @@ sub print_main_menu { listusers => 'Display Co-authors and Manage Multiple Users', }, course => { - upload => 'Upload a File of Course Users', - singleuser => 'Add/Modify a Single Course User', - listusers => 'Display Class Lists and Manage Multiple Users', + upload => 'File of Course Users', + singleuser => 'Single Course User', + listusers => 'Course User Lists', }, ); - 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'}, - },); + 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); # { 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 { @@ -3609,9 +3641,9 @@ sub visible_in_cat { 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.', ); - $visactions{'unhide'} = &mt('Use "[_1]Set course environment[_2]" to change the "Exclude from course catalog" setting.','',''); - $visactions{'chgcat'} = &mt('Use [_1]Set course environment[_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]Set course environment[_2] to assign a category to the course.','',''); + $visactions{'unhide'} = &mt('Use [_1]Set course environment[_2] to change the "Exclude from course catalog" setting.','"','"'); + $visactions{'chgcat'} = &mt('Use [_1]Set course environment[_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]Set course environment[_2] to assign a category to the course.','"','"'); if (ref($domconf{'coursecategories'}) eq 'HASH') { if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { $settable{'togglecats'} = 1; @@ -4418,10 +4450,30 @@ sub build_search_response { &Apache::lonuserutils::can_create_user($env{'request.role.domain'},$context); if ($cancreate) { my $showdom = &display_domain_info($env{'request.role.domain'}); - $response .= '

'.&mt("To add a new user (you can only create new users in your current role's domain - [_1]):",$env{'request.role.domain'}).'
'; + $response .= '

' + .''.&mt('To add a new user:').'' + .'
' + .&mt("(You can only create new users in your current role's domain - [_1])" + ,''.$env{'request.role.domain'}.'') + .'
'; } else { my $helplink = ' href="javascript:helpMenu('."'display'".')"'; - $response .= '

'.&mt("You are not authorized to create new users in your current role's domain - [_1].",$env{'request.role.domain'}).'
'.&mt('Contact the helpdesk if you need to create a new user.',$helplink).'

'; + $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.' + ,' ' + ,'') + .'

'; } } }