Diff for /loncom/interface/loncreateuser.pm between versions 1.249.2.2 and 1.250

version 1.249.2.2, 2008/07/13 09:57:29 version 1.250, 2008/07/07 23:54:27
Line 1396  sub modify_login_block { Line 1396  sub modify_login_block {
 }  }
   
 sub personal_data_display {  sub personal_data_display {
     my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_;      my ($ccuname,$ccdomain,$newuser,$context,$inst_results) = @_;
     my ($output,$showforceid,%userenv,%canmodify,@inststatuses);      my ($output,$showforceid,%userenv,%canmodify);
     my @userinfo = ('firstname','middlename','lastname','generation',      my @userinfo = ('firstname','middlename','lastname','generation',
                     'permanentemail','id');                      '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) {      if (!$newuser) {
         # Get the users information          # Get the users information
         %userenv = &Apache::lonnet::get('environment',          %userenv = &Apache::lonnet::get('environment',
                    ['firstname','middlename','lastname','generation',                     ['firstname','middlename','lastname','generation',
                     'permanentemail','id'],$ccdomain,$ccuname);                      'permanentemail','id'],$ccdomain,$ccuname);
     }  
     if ((!$newuser) || ($context eq 'selfcreate')) {  
         %canmodify =          %canmodify =
             &Apache::lonuserutils::can_modify_userinfo($context,$ccdomain,              &Apache::lonuserutils::can_modify_userinfo($context,$ccdomain,
                                                        \@userinfo,$rolesarray);                                                         \@userinfo);
     }      }
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
                 'pd'             => "Personal Data",                  'pd'             => "Personal Data",
Line 1445  sub personal_data_display { Line 1432  sub personal_data_display {
               &Apache::lonhtmlcommon::start_pick_box();                &Apache::lonhtmlcommon::start_pick_box();
     foreach my $item (@userinfo) {      foreach my $item (@userinfo) {
         my $rowtitle = $lt{$item};          my $rowtitle = $lt{$item};
         my $hiderow = 0;  
         if ($item eq 'generation') {          if ($item eq 'generation') {
             $rowtitle = $genhelp.$rowtitle;              $rowtitle = $genhelp.$rowtitle;
         }          }
         my $row = &Apache::lonhtmlcommon::row_title($rowtitle,undef,'LC_oddrow_value')."\n";          $output .= &Apache::lonhtmlcommon::row_title($rowtitle,undef,'LC_oddrow_value')."\n";
         if ($newuser) {          if ($newuser) {
             if (ref($inst_results) eq 'HASH') {              if (ref($inst_results) eq 'HASH') {
                 if ($inst_results->{$item} ne '') {                  if ($inst_results->{$item} ne '') {
                     $row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item};                      $output .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item};
                 } else {                  } else {
                     if ($context eq 'selfcreate') {                      $output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';
                         if ($canmodify{$item}) {  
                             $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';  
                             $editable ++;  
                         } else {  
                             $hiderow = 1;  
                         }  
                     } else {  
                         $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';  
                     }  
                 }                  }
             } else {              } else {
                 if ($context eq 'selfcreate') {                  $output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';
                     if ($canmodify{$item}) {  
                         $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';  
                         $editable ++;  
                     } else {  
                         $hiderow = 1;  
                     }  
                 } else {  
                     $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';  
                 }  
             }              }
         } else {          } else {
             if ($canmodify{$item}) {              if ($canmodify{$item}) {
                 $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />';                  $output .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />';
             } else {              } else {
                 $row .= $userenv{$item};                  $output .= $userenv{$item};
             }              }
             if ($item eq 'id') {              if ($item eq 'id') {
                 $showforceid = $canmodify{$item};                  $showforceid = $canmodify{$item};
             }              }
         }          }
         $row .= &Apache::lonhtmlcommon::row_closure(1);          $output .= &Apache::lonhtmlcommon::row_closure(1);
         if (!$hiderow) {  
             $output .= $row;  
             $rowcount ++;  
         }  
     }      }
     $output .= &Apache::lonhtmlcommon::end_pick_box();      $output .= &Apache::lonhtmlcommon::end_pick_box();
     if (wantarray) {      if (wantarray) {
         if ($context eq 'selfcreate') {          return ($output,$showforceid);
             return($output,$rowcount,$editable);  
         } else {  
             return ($output,$showforceid);  
         }  
     } else {      } else {
         return $output;          return $output;
     }      }
 }  }
   
 sub get_inststatuses {  
     my ($insthashref) = @_;  
     my @inststatuses = ();  
     if (ref($insthashref) eq 'HASH') {  
         if (ref($insthashref->{'inststatus'}) eq 'ARRAY') {  
             @inststatuses = @{$insthashref->{'inststatus'}};  
         }  
     }  
     return @inststatuses;  
 }  
   
 # ================================================================= Phase Three  # ================================================================= Phase Three
 sub update_user_data {  sub update_user_data {
     my ($r,$context) = @_;       my ($r,$context) = @_; 
Line 3589  sub selfenroll_inst_types { Line 3538  sub selfenroll_inst_types {
     my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($currdom);      my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($currdom);
     my $othervalue = 'any';      my $othervalue = 'any';
     if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) {      if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) {
         if (keys(%{$usertypes}) > 0) {          if (@{$types} > 0) {
             $othervalue = 'other';              $othervalue = 'other';
         }          }
         $output .= '<table><tr>';          $output .= '<table><tr>';

Removed from v.1.249.2.2  
changed lines
  Added in v.1.250


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>