--- loncom/interface/loncreateuser.pm 2010/10/08 01:59:39 1.351 +++ loncom/interface/loncreateuser.pm 2011/09/25 23:07:49 1.358 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.351 2010/10/08 01:59:39 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.358 2011/09/25 23:07:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -638,7 +638,6 @@ END sub entry_form { my ($dom,$srch,$forcenewuser,$context,$responsemsg,$crstype) = @_; - my %domconf = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom); my ($usertype,$inexact); if (ref($srch) eq 'HASH') { if (($srch->{'srchin'} eq 'dom') && @@ -646,9 +645,10 @@ sub entry_form { ($srch->{'srchtype'} eq 'exact') && ($srch->{'srchdomain'} ne '') && ($srch->{'srchterm'} ne '')) { + my (%curr_rules,%got_rules); my ($rules,$ruleorder) = &Apache::lonnet::inst_userrules($srch->{'srchdomain'},'username'); - $usertype = &Apache::lonuserutils::check_usertype($srch->{'srchdomain'},$srch->{'srchterm'},$rules); + $usertype = &Apache::lonuserutils::check_usertype($srch->{'srchdomain'},$srch->{'srchterm'},$rules,\%curr_rules,\%got_rules); } else { $inexact = 1; } @@ -942,7 +942,8 @@ sub print_user_modification_page { my ($rules,$ruleorder) = &Apache::lonnet::inst_userrules($ccdomain,'username'); $usertype = - &Apache::lonuserutils::check_usertype($ccdomain,$ccuname,$rules); + &Apache::lonuserutils::check_usertype($ccdomain,$ccuname,$rules, + \%curr_rules,\%got_rules); my $cancreate = &Apache::lonuserutils::can_create_user($ccdomain,$context, $usertype); @@ -1321,7 +1322,7 @@ ENDNOTOOLSPRIV $addrolesdisplay = &new_coauthor_roles($r,$ccuname,$ccdomain); } if ($context eq 'domain') { - my $add_domainroles = &new_domain_roles($r); + my $add_domainroles = &new_domain_roles($r,$ccdomain); if (!$addrolesdisplay) { $addrolesdisplay = $add_domainroles; } @@ -1346,7 +1347,7 @@ ENDNOTOOLSPRIV } $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); $r->print(''); - $r->print(''); + $r->print(''); return; } @@ -1764,7 +1765,7 @@ sub new_coauthor_roles { } sub new_domain_roles { - my ($r) = @_; + my ($r,$ccdomain) = @_; my $addrolesdisplay = 0; # # Domain level @@ -1782,6 +1783,7 @@ sub new_domain_roles { foreach my $thisdomain (sort(&Apache::lonnet::all_domains())) { foreach my $role (@allroles) { next if ($role eq 'ad'); + next if (($role eq 'au') && ($ccdomain ne $thisdomain)); if (&Apache::lonnet::allowed('c'.$role,$thisdomain)) { my $plrole=&Apache::lonnet::plaintext($role); my %lt=&Apache::lonlocal::texthash( @@ -3929,21 +3931,22 @@ sub set_custom_role { .$jsback."\n" .'// ]]>'."\n" .''."\n"; - my $brcrum = [{href => "javascript:backPage(document.customresult,'pickrole','')", - text => "Pick custom role", - faq => 282, - bug => 'Instructor Interface',}, - {href => "javascript:backPage(document.customresult,'selected_custom_edit','')", - text => "Edit custom role", - faq => 282, - bug => 'Instructor Interface',}, - {href => "javascript:backPage(document.customresult,'set_custom_roles','')", - text => "Result", - faq => 282, - bug => 'Instructor Interface', - help => 'Course_Editing_Custom_Roles'}, - ]; - my $args = { bread_crumbs => $brcrum, + push(@{$brcrum}, + {href => "javascript:backPage(document.customresult,'pickrole','')", + text => "Pick custom role", + faq => 282, + bug => 'Instructor Interface',}, + {href => "javascript:backPage(document.customresult,'selected_custom_edit','')", + text => "Edit custom role", + faq => 282, + bug => 'Instructor Interface',}, + {href => "javascript:backPage(document.customresult,'set_custom_roles','')", + text => "Result", + faq => 282, + bug => 'Instructor Interface', + help => 'Course_Editing_Custom_Roles'}, + ); + my $args = { bread_crumbs => $brcrum, bread_crumbs_component => 'User Management'}; $r->print(&Apache::loncommon::start_page('Save Custom Role',$jscript,$args)); @@ -4039,6 +4042,10 @@ sub handler { my ($permission,$allowed) = &Apache::lonuserutils::get_permission($context,$crstype); if (!$allowed) { + if ($context eq 'course') { + $r->internal_redirect('/adm/viewclasslist'); + return OK; + } $env{'user.error.msg'}= "/adm/createuser:cst:0:0:Cannot create/modify user data ". "or view user status."; @@ -4383,12 +4390,12 @@ sub print_main_menu { course => { upload => 'Upload a File of Course Users', singleuser => 'Add/Modify a Course User', - listusers => 'Manage Course Users', + listusers => 'List and Modify Multiple Course Users', }, community => { upload => 'Upload a File of Community Users', singleuser => 'Add/Modify a Community User', - listusers => 'Manage Community Users', + listusers => 'List and Modify Multiple Community Users', }, ); my %linktitles = ( @@ -6205,8 +6212,8 @@ sub course_level_dc { my $hiddenitems = ''. ''. ''; - my $courseform=''.&Apache::loncommon::selectcourse_link - ('cu','dccourse','dcdomain','coursedesc',undef,undef,'Course/Community','crstype').''; + my $courseform=&Apache::loncommon::selectcourse_link + ('cu','dccourse','dcdomain','coursedesc',undef,undef,'Select','crstype'); my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($dcdom,'currsec','cu','role','Course/Community Browser'); my %lt=&Apache::lonlocal::texthash( 'rol' => "Role", @@ -6216,15 +6223,17 @@ sub course_level_dc { 'sta' => "Start", 'end' => "End", 'ssd' => "Set Start Date", - 'sed' => "Set End Date" + 'sed' => "Set End Date", + 'scc' => "Course/Community" ); my $header = '

'.&mt('Course/Community Level').'

'. &Apache::loncommon::start_data_table(). &Apache::loncommon::start_data_table_header_row(). - ''.$courseform.''.$lt{'rol'}.''.$lt{'grs'}.''.$lt{'sta'}.''.$lt{'end'}.''. + ''.$lt{'scc'}.''.$lt{'rol'}.''.$lt{'grs'}.''.$lt{'sta'}.''.$lt{'end'}.''. &Apache::loncommon::end_data_table_header_row(); my $otheritems = &Apache::loncommon::start_data_table_row()."\n". - '
'."\n". + '
'. + $courseform.(' ' x4).''."\n". '