Diff for /loncom/interface/loncreateuser.pm between versions 1.202 and 1.203

version 1.202, 2007/12/05 21:23:14 version 1.203, 2007/12/06 04:03:35
Line 787  ENDCHANGEUSER Line 787  ENDCHANGEUSER
                   &personal_data_display($ccuname,$ccdomain,$newuser,                    &personal_data_display($ccuname,$ccdomain,$newuser,
                                          %inst_results));                                           %inst_results));
         if ($context eq 'domain') {          if ($context eq 'domain') {
             $r->print(&Apache::lonuserutils::forceid_change());              $r->print(&Apache::lonuserutils::forceid_change($context));
         }          }
         $r->print('</div>');          $r->print('</div>');
         my $user_auth_text =           my $user_auth_text = 
Line 1591  sub update_user_data { Line 1591  sub update_user_data {
         # Check to see if we need to change user information          # Check to see if we need to change user information
         foreach my $item ('firstname','middlename','lastname','generation','permanentemail','id') {          foreach my $item ('firstname','middlename','lastname','generation','permanentemail','id') {
             # Strip leading and trailing whitespace              # Strip leading and trailing whitespace
             $env{'form.c'.$item} =~ s/(\s+$|^\s+)//g;               $env{'form.c'.$item} =~ s/(\s+$|^\s+)//g;
         }          }
         # Check to see if we can change the ID/student number          # Check to see if we can change the ID/student number
         my $forceid = $env{'form.forceid'};          my $forceid = $env{'form.forceid'};
         my $recurseid = $env{'form.recurseid'};          my $recurseid = $env{'form.recurseid'};
         my $newuser = 0;          my $newuser = 0;
         my $disallowed_id = 0;  
         my (%alerts,%rulematch,%idinst_results,%curr_rules,%got_rules);          my (%alerts,%rulematch,%idinst_results,%curr_rules,%got_rules);
         if (!$forceid) {          my %uidhash = &Apache::lonnet::idrget($env{'form.ccdomain'},
             $env{'form.cid'} = $userenv{'id'};                                              $env{'form.ccuname'});
         } elsif ($env{'form.cid'} ne $userenv{'id'}) {          if (($uidhash{$env{'form.ccuname'}}) && 
               ($uidhash{$env{'form.ccuname'}}!~/error\:/) && 
               (!$forceid)) {
               if ($env{'form.cid'} ne $uidhash{$env{'form.ccuname'}}) {
                   $env{'form.cid'} = $userenv{'id'};
               }
           }
           if ($env{'form.cid'} ne $userenv{'id'}) {
             my $checkhash;              my $checkhash;
             my $checks = { 'id' => 1 };              my $checks = { 'id' => 1 };
             $checkhash->{$env{'form.ccuname'}.':'.$env{'form.ccdomain'}} =               $checkhash->{$env{'form.ccuname'}.':'.$env{'form.ccdomain'}} = 
Line 1612  sub update_user_data { Line 1618  sub update_user_data {
                 \%alerts,\%rulematch,\%idinst_results,\%curr_rules,\%got_rules);                  \%alerts,\%rulematch,\%idinst_results,\%curr_rules,\%got_rules);
             if (ref($alerts{'id'}) eq 'HASH') {              if (ref($alerts{'id'}) eq 'HASH') {
                 if (ref($alerts{'id'}{$env{'form.ccdomain'}}) eq 'HASH') {                  if (ref($alerts{'id'}{$env{'form.ccdomain'}}) eq 'HASH') {
                    $disallowed_id = 1;                     $env{'form.cid'} = $userenv{'id'};
                 }                  }
             }              }
         }          }
Line 1739  END Line 1745  END
 END  END
                 $r->print(&Apache::loncommon::end_data_table_row().                  $r->print(&Apache::loncommon::end_data_table_row().
                           &Apache::loncommon::end_data_table());                            &Apache::loncommon::end_data_table());
                 if (($forceid) && ($recurseid) && (!$disallowed_id) &&                  if ($env{'form.cid'} ne $userenv{'id'}) {
                     (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) {                      &Apache::lonnet::idput($env{'form.ccdomain'},
                     my %userupdate = (                           ($env{'form.ccuname'} => $env{'form.cid'}));
                       if (($recurseid) &&
                           (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) {
                           my %userupdate = (
                                   lastname   => $env{'form.clasaname'},                                    lastname   => $env{'form.clasaname'},
                                   middlename => $env{'form.cmiddlename'},                                    middlename => $env{'form.cmiddlename'},
                                   firstname  => $env{'form.cfirstname'},                                    firstname  => $env{'form.cfirstname'},
                                   generation => $env{'fora.cgeneration'},                                    generation => $env{'fora.cgeneration'},
                                   id         => $env{'form.cid'},                                    id         => $env{'form.cid'},
                              );                               );
                     my $idresult = &propagate_id_change($env{'form.ccname'},                          my $idresult = 
                                     $env{'form.ccdomain'},\%userupdate);                              &Apache::lonuserutils::propagate_id_change(
                     $r->print('<br />'.$idresult.'<br />');                                  $env{'form.ccuname'},$env{'form.ccdomain'},
                                   \%userupdate);
                           $r->print('<br />'.$idresult.'<br />');
                       }
                 }                  }
                 if (($env{'form.ccdomain'} eq $env{'user.domain'}) &&                   if (($env{'form.ccdomain'} eq $env{'user.domain'}) && 
                     ($env{'form.ccuname'} eq $env{'user.name'})) {                      ($env{'form.ccuname'} eq $env{'user.name'})) {

Removed from v.1.202  
changed lines
  Added in v.1.203


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