Diff for /loncom/interface/loncreateuser.pm between versions 1.395 and 1.396

version 1.395, 2014/02/28 19:20:06 version 1.396, 2014/03/03 17:11:41
Line 2164  sub modify_login_block { Line 2164  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,$rolesarray,
         $now,$captchaform,$emailusername) = @_;          $now,$captchaform,$emailusername,$usertype) = @_;
     my ($output,%userenv,%canmodify,%canmodify_status);      my ($output,%userenv,%canmodify,%canmodify_status);
     my @userinfo = ('firstname','middlename','lastname','generation',      my @userinfo = ('firstname','middlename','lastname','generation',
                     'permanentemail','id');                      'permanentemail','id');
Line 2206  sub personal_data_display { Line 2206  sub personal_data_display {
                                                        \@userinfo,$rolesarray);                                                         \@userinfo,$rolesarray);
     } elsif ($context eq 'selfcreate') {      } elsif ($context eq 'selfcreate') {
         if ($newuser eq 'email') {          if ($newuser eq 'email') {
             if (ref($emailusername) eq 'HASH') {               if (ref($emailusername) eq 'HASH') {
                 my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info();                  if (ref($emailusername->{$usertype}) eq 'HASH') {
                 @userinfo = ();                                my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info();
                 if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) {                      @userinfo = ();          
                     foreach my $field (@{$infofields}) {                       if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) {
                         if ($emailusername->{$field}) {                          foreach my $field (@{$infofields}) { 
                             push(@userinfo,$field);                              if ($emailusername->{$usertype}->{$field}) {
                             $canmodify{$field} = 1;                                  push(@userinfo,$field);
                             unless ($textboxsize{$field}) {                                  $canmodify{$field} = 1;
                                 $textboxsize{$field} = 25;                                  unless ($textboxsize{$field}) {
                             }                                      $textboxsize{$field} = 25;
                             unless ($lt{$field}) {                                  }
                                 $lt{$field} = $infotitles->{$field};                                  unless ($lt{$field}) {
                                       $lt{$field} = $infotitles->{$field};
                                   }
                                   if ($emailusername->{$usertype}->{$field} eq 'required') {
                                       $lt{$field} .= '<b>*</b>';
                                   }
                             }                              }
                         }                          }
                     }                      }
Line 2234  sub personal_data_display { Line 2239  sub personal_data_display {
     $output = '<h3>'.$lt{'pd'}.'</h3>'.      $output = '<h3>'.$lt{'pd'}.'</h3>'.
               &Apache::lonhtmlcommon::start_pick_box();                &Apache::lonhtmlcommon::start_pick_box();
     if (($context eq 'selfcreate') && ($newuser eq 'email')) {      if (($context eq 'selfcreate') && ($newuser eq 'email')) {
         $output .= &Apache::lonhtmlcommon::row_title($lt{'email'},undef,          $output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'<b>*</b>',undef,
                                                      'LC_oddrow_value')."\n".                                                       'LC_oddrow_value')."\n".
                    '<input type="text" name="uname" size="25" value="" autocomplete="off" />';                     '<input type="text" name="uname" size="25" value="" autocomplete="off" />';
         $rowcount ++;          $rowcount ++;
         $output .= &Apache::lonhtmlcommon::row_closure(1);          $output .= &Apache::lonhtmlcommon::row_closure(1);
         my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />';          my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />';
         my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" autocomplete="off" />';          my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" autocomplete="off" />';
         $output .= &Apache::lonhtmlcommon::row_title(&mt('Password'),          $output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'<b>*</b>',
                                                     'LC_pick_box_title',                                                      'LC_pick_box_title',
                                                     'LC_oddrow_value')."\n".                                                      'LC_oddrow_value')."\n".
                    $upassone."\n".                     $upassone."\n".
                    &Apache::lonhtmlcommon::row_closure(1)."\n".                     &Apache::lonhtmlcommon::row_closure(1)."\n".
                    &Apache::lonhtmlcommon::row_title(&mt('Confirm password'),                     &Apache::lonhtmlcommon::row_title(&mt('Confirm password').'<b>*</b>',
                                                      'LC_pick_box_title',                                                       'LC_pick_box_title',
                                                      'LC_oddrow_value')."\n".                                                       'LC_oddrow_value')."\n".
                    $upasstwo.                     $upasstwo.
Line 2360  sub personal_data_display { Line 2365  sub personal_data_display {
         $output .= &Apache::lonhtmlcommon::row_title()."\n".          $output .= &Apache::lonhtmlcommon::row_title()."\n".
                    '<br /><input type="submit" name="createaccount" value="'.                     '<br /><input type="submit" name="createaccount" value="'.
                    $submit_text.'" />'.                     $submit_text.'" />'.
                      '<input type="hidden" name="type" value="'.$usertype.'" />'.
                    &Apache::lonhtmlcommon::row_closure(1);                     &Apache::lonhtmlcommon::row_closure(1);
     }      }
     $output .= &Apache::lonhtmlcommon::end_pick_box();      $output .= &Apache::lonhtmlcommon::end_pick_box();
Line 4816  sub handler { Line 4822  sub handler {
             if (ref($domconfig{'usercreation'}) eq 'HASH') {              if (ref($domconfig{'usercreation'}) eq 'HASH') {
                 if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') {                  if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') {
                     if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}) eq 'HASH') {                      if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}) eq 'HASH') {
                         my $count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}}));  
                         my %info =                          my %info =
                             &Apache::lonnet::get('nohist_requestedusernames',[$uname],$dom,$domconfiguser);                              &Apache::lonnet::get('nohist_requestedusernames',[$uname],$dom,$domconfiguser);
                         if (ref($info{$uname}) eq 'HASH') {                          if (ref($info{$uname}) eq 'HASH') {
                             if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) {                              my $usertype = $info{$uname}{'inststatus'};
                                 $r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box());                              unless ($usertype) {
                                 my $num;                                  $usertype = 'default';
                                 foreach my $field (@{$infofields}) {                              }
                                     next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$field});                              if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}) eq 'HASH') {
                                     next unless ($infotitles->{$field});                                  if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) {
                                     $r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}).                                      $r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box());
                                               $info{$uname}{$field});                                      my ($num,$count,$showstatus);
                                     $num ++;                                      $count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}}));
                                     if ($count == $num) {                                      unless ($usertype eq 'default') {
                                         $r->print(&Apache::lonhtmlcommon::row_closure(1));                                          my ($othertitle,$usertypes,$types) = 
                                     } else {                                              &Apache::loncommon::sorted_inst_types($dom);
                                         $r->print(&Apache::lonhtmlcommon::row_closure());                                          if (ref($usertypes) eq 'HASH') {
                                               if ($usertypes->{$usertype}) {
                                                   $showstatus = $usertypes->{$usertype};
                                                   $count ++;
                                               }
                                           }
                                       }
                                       foreach my $field (@{$infofields}) {
                                           next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}{$field});
                                           next unless ($infotitles->{$field});
                                           $r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}).
                                                     $info{$uname}{$field});
                                           $num ++;
                                           if ($count == $num) {
                                               $r->print(&Apache::lonhtmlcommon::row_closure(1));
                                           } else {
                                               $r->print(&Apache::lonhtmlcommon::row_closure());
                                           }
                                       }
                                       if ($showstatus) {
                                           $r->print(&Apache::lonhtmlcommon::row_title(&mt('Status type (self-reported)')).
                                                     $showstatus.
                                                     &Apache::lonhtmlcommon::row_closure(1));
                                     }                                      }
                                       $r->print(&Apache::lonhtmlcommon::end_pick_box().'</div>');
                                 }                                  }
                                 $r->print(&Apache::lonhtmlcommon::end_pick_box().'</div>');  
                             }                              }
                         }                          }
                     }                      }

Removed from v.1.395  
changed lines
  Added in v.1.396


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