--- loncom/interface/loncreateuser.pm 2024/09/03 03:45:35 1.482 +++ loncom/interface/loncreateuser.pm 2025/02/26 15:39:20 1.484 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.482 2024/09/03 03:45:35 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.484 2025/02/26 15:39:20 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2853,7 +2853,7 @@ sub personal_data_display { } my $genhelp=&Apache::loncommon::help_open_topic('Generation'); - $output = '

'.$lt{'pd'}.'

'. + $output = '

'.$lt{'pd'}.'

'. &Apache::lonhtmlcommon::start_pick_box(); if (($context eq 'selfcreate') && ($newuser eq 'email')) { my $size = 25; @@ -2869,9 +2869,9 @@ sub personal_data_display { undef($condition); } } - $output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'*',undef, + $output .= &Apache::lonhtmlcommon::row_title('*',undef, 'LC_oddrow_value')."\n". - ''; + ''; if ($condition) { $output .= $condition; } elsif ($excluded) { @@ -2890,14 +2890,14 @@ sub personal_data_display { } $rowcount ++; $output .= &Apache::lonhtmlcommon::row_closure(1); - my $upassone = ''; - my $upasstwo = ''; - $output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'*', + my $upassone = ''; + my $upasstwo = ''; + $output .= &Apache::lonhtmlcommon::row_title('*', 'LC_pick_box_title', 'LC_oddrow_value')."\n". $upassone."\n". &Apache::lonhtmlcommon::row_closure(1)."\n". - &Apache::lonhtmlcommon::row_title(&mt('Confirm password').'*', + &Apache::lonhtmlcommon::row_title('*', 'LC_pick_box_title', 'LC_oddrow_value')."\n". $upasstwo. @@ -2911,59 +2911,85 @@ sub personal_data_display { ''."\n". ''."\n".&Apache::lonhtmlcommon::row_closure(1); + ''."\n".&Apache::lonhtmlcommon::row_closure(1); $rowcount ++; } } + my %shownfields; + if ($env{'request.role.domain'} ne $ccdomain) { + my %shownfields_by_type = + &Apache::lonuserutils::get_othdom_shownfields($ccdomain,\@userinfo); + my @types = split(/:/,$userenv{'inststatus'}); + if (@types == 0) { + @types = ('default'); + } + foreach my $type (@types) { + if (ref($shownfields_by_type{$type}) eq 'HASH') { + foreach my $field (keys(%{$shownfields_by_type{$type}})) { + if ($shownfields_by_type{$type}{$field}) { + $shownfields{$field} = 1; + } + } + } + } + } foreach my $item (@userinfo) { my $rowtitle = $lt{$item}; my $hiderow = 0; if ($item eq 'generation') { $rowtitle = $genhelp.$rowtitle; } - my $row = &Apache::lonhtmlcommon::row_title($rowtitle,undef,'LC_oddrow_value')."\n"; + my $row = &Apache::lonhtmlcommon::row_title('',undef,'LC_oddrow_value')."\n"; if ($newuser) { if (ref($inst_results) eq 'HASH') { if ($inst_results->{$item} ne '') { - $row .= ''.$inst_results->{$item}; + $row .= ''.$inst_results->{$item}; } else { if ($context eq 'selfcreate') { if ($canmodify{$item}) { - $row .= ''; + $row .= ''; $editable ++; } else { $hiderow = 1; } } else { - $row .= ''; + $row .= ''; } } } else { if ($context eq 'selfcreate') { if ($canmodify{$item}) { if ($newuser eq 'email') { - $row .= ''; + $row .= ''; } else { - $row .= ''; + $row .= ''; } $editable ++; } else { $hiderow = 1; } } else { - $row .= ''; + $row .= ''; } } } else { if ($canmodify{$item}) { - $row .= ''; + $row .= ''; if (($item eq 'id') && (!$newuser)) { $row .= '
'.&Apache::lonuserutils::forceid_change($context); } } else { - $row .= $userenv{$item}; + if ($env{'request.role.domain'} ne $ccdomain) { + if ($shownfields{$item}) { + $row .= $userenv{$item}; + } else { + $row .= &mt('not shown'); + } + } else { + $row .= $userenv{$item}; + } } } $row .= &Apache::lonhtmlcommon::row_closure(1); @@ -3019,7 +3045,8 @@ sub personal_data_display { } if ($showsubmit) { my $submit_text = &mt('Create account'); - $output .= &Apache::lonhtmlcommon::row_title()."\n". + $output .= &Apache::lonhtmlcommon::row_title(''. + &mt('Submit').'','','','',1)."\n". '
'; if ($usertype ne '') {