--- loncom/interface/loncreateuser.pm 2008/08/26 23:20:22 1.249.2.6 +++ loncom/interface/loncreateuser.pm 2008/07/16 12:06:28 1.256 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.249.2.6 2008/08/26 23:20:22 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.256 2008/07/16 12:06:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -967,7 +967,7 @@ sub display_existing_roles { if (defined($coursedata{'description'})) { $carea=$coursedata{'description'}. '
'.&mt('Domain').': '.$coursedom.(' 'x8). - &Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$coursedir,$coursedom); + &Apache::loncommon::syllabuswrapper('Syllabus',$coursedir,$coursedom); $sortkey.="\0".$coursedata{'description'}; $class=$coursedata{'type'}; } else { @@ -1397,22 +1397,30 @@ sub modify_login_block { sub personal_data_display { my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_; - my ($output,$showforceid,%userenv,%canmodify); + my ($output,$showforceid,%userenv,%canmodify,@inststatuses); my @userinfo = ('firstname','middlename','lastname','generation', 'permanentemail','id'); my $rowcount = 0; my $editable = 0; + if ($context eq 'selfcreate') { + if (ref($inst_results) eq 'HASH') { + @inststatuses = &get_inststatuses($inst_results); + if (@inststatuses == 0) { + @inststatuses = ('default'); + } + $rolesarray = \@inststatuses; + } + } if (!$newuser) { # Get the users information %userenv = &Apache::lonnet::get('environment', ['firstname','middlename','lastname','generation', 'permanentemail','id'],$ccdomain,$ccuname); + } + if ((!$newuser) || ($context eq 'selfcreate')) { %canmodify = &Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, \@userinfo,$rolesarray); - } elsif ($context eq 'selfcreate') { - %canmodify = &selfcreate_canmodify($context,$ccdomain,\@userinfo, - $inst_results,$rolesarray); } my %lt=&Apache::lonlocal::texthash( 'pd' => "Personal Data", @@ -1421,7 +1429,7 @@ sub personal_data_display { 'lastname' => "Last Name", 'generation' => "Generation", 'permanentemail' => "Permanent e-mail address", - 'id' => "Student/Employee ID", + 'id' => "ID/Student Number", 'lg' => "Login Data" ); my %textboxsize = ( @@ -1448,7 +1456,7 @@ sub personal_data_display { $row .= ''.$inst_results->{$item}; } else { if ($context eq 'selfcreate') { - if ($canmodify{$item}) { + if ($canmodify{$item}) { $row .= ''; $editable ++; } else { @@ -1498,21 +1506,6 @@ sub personal_data_display { } } -sub selfcreate_canmodify { - my ($context,$dom,$userinfo,$inst_results,$rolesarray) = @_; - if (ref($inst_results) eq 'HASH') { - my @inststatuses = &get_inststatuses($inst_results); - if (@inststatuses == 0) { - @inststatuses = ('default'); - } - $rolesarray = \@inststatuses; - } - my %canmodify = - &Apache::lonuserutils::can_modify_userinfo($context,$dom,$userinfo, - $rolesarray); - return %canmodify; -} - sub get_inststatuses { my ($insthashref) = @_; my @inststatuses = (); @@ -1847,7 +1840,7 @@ sub update_user_data { $env{'form.c'.$item} = $userenv{$item}; } } - # Check to see if we can change the Student/Employee ID + # Check to see if we can change the ID/student number my $forceid = $env{'form.forceid'}; my $recurseid = $env{'form.recurseid'}; my (%alerts,%rulematch,%idinst_results,%curr_rules,%got_rules); @@ -1858,10 +1851,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.') - .'
' - .&mt("Change is not permitted without checking the 'Force ID change' checkbox on the previous page.") - .'
'."\n"; + $no_forceid_alert = &mt('New student/employeeID 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"; } } if ($env{'form.cid'} ne $userenv{'id'}) { @@ -1975,7 +1965,7 @@ sub update_user_data { 'mddl' => "middle", 'lst' => "last", 'gen' => "generation", - 'id' => "Student/Employee ID", + 'id' => "ID/Student number", 'mail' => "permanent e-mail", 'disk' => "disk space allocated to portfolio files", 'prvs' => "Previous", @@ -2058,7 +2048,7 @@ END # They did not want to change the users name or quota but we can # still tell them what the name and quota are my %lt=&Apache::lonlocal::texthash( - 'id' => "Student/Employee ID", + 'id' => "ID/Student number", 'mail' => "Permanent e-mail", 'disk' => "Disk space allocated to user's portfolio files", ); @@ -2101,10 +2091,8 @@ END $r->print(''.$rolestr.'
'. &mt('Contact your helpdesk for more information.',"javascript:helpMenu('display')").'
'); } - $r->print('' - .$no_forceid_alert - .&Apache::lonuserutils::print_namespacing_alerts($env{'form.ccdomain'},\%alerts,\%curr_rules) - .''); + $r->print($no_forceid_alert. + &Apache::lonuserutils::print_namespacing_alerts($env{'form.ccdomain'},\%alerts,\%curr_rules)); } if ($env{'form.action'} eq 'singlestudent') { &enroll_single_student($r,$uhome,$amode,$genpwd,$now,$newuser,$context); @@ -3622,15 +3610,15 @@ sub visible_in_cat { $cathash = $domconf{'coursecategories'}{'cats'}; } if ($settable{'togglecats'} && $settable{'categories'}) { - $cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.'); + $cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.'); } elsif ($settable{'togglecats'}) { - $cansetvis = &mt('You are able to choose to exclude this course from the catalog, but only a Domain Coordinator may assign a course category.'); + $cansetvis = &mt('You are able to choose to exclude this course from the catalog, but only a Domain Coordinator may assign a course category.'); } elsif ($settable{'categories'}) { - $cansetvis = &mt('You may assign a course category, but only a Domain Coordinator may choose to exclude this course from the catalog.'); + $cansetvis = &mt('You may assign a course category, but only a Domain Coordinator may choose to exclude this course from the catalog.'); } else { - $cansetvis = &mt('Only a Domain Coordinator may assign a course category or choose to exclude this course from the catalog.'); + $cansetvis = &mt('Only a Domain Coordinator may assign a course category or choose to exclude this course from the catalog.'); } - + my %currsettings = &Apache::lonnet::get('environment',['hidefromcat','categories','internal.coursecode'], $cdom,$cnum); @@ -3640,7 +3628,7 @@ sub visible_in_cat { $cathash = $domconf{'coursecategories'}{'cats'}; if (ref($cathash) eq 'HASH') { if ($cathash->{'instcode::0'} eq '') { - push(@vismsgs,'dc_addinst'); + push(@vismsgs,'dc_addinst'); } else { $visible = 1; } @@ -3679,7 +3667,7 @@ sub visible_in_cat { } } if (!$matched) { - if ($settable{'categories'}) { + if ($settable{'categories'}) { push(@vismsgs,'chgcat'); } else { push(@vismsgs,'dc_chgcat'); @@ -3690,7 +3678,7 @@ sub visible_in_cat { } } else { if (ref($cathash) eq 'HASH') { - if ((keys(%{$cathash}) > 1) || + if ((keys(%{$cathash}) > 1) || (keys(%{$cathash}) == 1) && ($cathash->{'instcode::0'} eq '')) { if ($settable{'categories'}) { push(@vismsgs,'addcat'); @@ -3750,14 +3738,13 @@ sub selfenroll_inst_types { $output .= ''; } if (defined($usertypes->{$type})) { - my $esc_type = &escape($type); $output .= '