Diff for /loncom/interface/loncreateuser.pm between versions 1.393 and 1.397

version 1.393, 2014/02/16 15:38:52 version 1.397, 2014/03/26 18:18:24
Line 1813  sub display_existing_roles { Line 1813  sub display_existing_roles {
             }              }
         } else {          } else {
             $plaintext=              $plaintext=
                 &mt('Customrole [_1][_2]defined by [_3]',                  &mt('Custom role [_1][_2]defined by [_3]',
                         '"'.$croletitle.'"',                          '"'.$croletitle.'"',
                         '<br />',                          '<br />',
                         $croleuname.':'.$croleudom);                          $croleuname.':'.$croleudom);
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="" />';                     '<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" />';          my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />';
         my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" />';          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 2266  sub personal_data_display { Line 2271  sub personal_data_display {
                 } else {                  } else {
                     if ($context eq 'selfcreate') {                      if ($context eq 'selfcreate') {
                         if ($canmodify{$item}) {                          if ($canmodify{$item}) {
                             $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';                              $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />';
                             $editable ++;                              $editable ++;
                         } else {                          } else {
                             $hiderow = 1;                              $hiderow = 1;
Line 2282  sub personal_data_display { Line 2287  sub personal_data_display {
                     } else {                      } else {
                         if ($canmodify{$item}) {                          if ($canmodify{$item}) {
                             if ($newuser eq 'email') {                              if ($newuser eq 'email') {
                                 $row .= '<input type="text" name="'.$item.'" size="'.$textboxsize{$item}.'" value="" />';                                  $row .= '<input type="text" name="'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />';
                             } else {                              } else {
                                 $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />';                                  $row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />';
                             }                              }
                             $editable ++;                              $editable ++;
                         } else {                          } else {
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 2715  sub update_user_data { Line 2721  sub update_user_data {
     $r->print($error.'Invalid login mode or password'.$end.$rtnlink);          $r->print($error.'Invalid login mode or password'.$end.$rtnlink);    
     return;      return;
  }   }
  # Only allow authentification modification if the person has authority   # Only allow authentication modification if the person has authority
  if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) {   if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) {
     $r->print('Modifying authentication: '.      $r->print('Modifying authentication: '.
                       &Apache::lonnet::modifyuserauth(                        &Apache::lonnet::modifyuserauth(
Line 2725  sub update_user_data { Line 2731  sub update_user_data {
   ($env{'form.ccuname'},$env{'form.ccdomain'}));    ($env{'form.ccuname'},$env{'form.ccdomain'}));
  } else {   } else {
     # Okay, this is a non-fatal error.      # Okay, this is a non-fatal error.
     $r->print($error.&mt('You do not have the authority to modify this users authentification information').'.'.$end);          $r->print($error.&mt('You do not have the authority to modify this users authentication information.').$end);    
  }   }
     }      }
     $r->rflush(); # Finish display of header before time consuming actions start      $r->rflush(); # Finish display of header before time consuming actions start
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>');  
                             }                              }
                         }                          }
                     }                      }
Line 7190  sub course_level_dc { Line 7217  sub course_level_dc {
                  &Apache::loncommon::start_data_table().                   &Apache::loncommon::start_data_table().
                  &Apache::loncommon::start_data_table_header_row().                   &Apache::loncommon::start_data_table_header_row().
                  '<th>'.$lt{'scc'}.'</th><th>'.$lt{'rol'}.'</th>'."\n".                   '<th>'.$lt{'scc'}.'</th><th>'.$lt{'rol'}.'</th>'."\n".
                  '<th>'.$lt{'grs'}.'</th><th>'.$lt{'crd'}.'</th>'."\n".                   '<th>'.$lt{'grs'}.'</th>'."\n";
                  '<th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'."\n".      $header .=   '<th>'.$lt{'crd'}.'</th>'."\n" if ($showcredits);
       $header .=   '<th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'."\n".
                  &Apache::loncommon::end_data_table_header_row();                   &Apache::loncommon::end_data_table_header_row();
     my $otheritems = &Apache::loncommon::start_data_table_row()."\n".      my $otheritems = &Apache::loncommon::start_data_table_row()."\n".
                      '<td><br /><span class="LC_nobreak"><input type="text" name="coursedesc" value="" onfocus="this.blur();opencrsbrowser('."'cu','dccourse','dcdomain','coursedesc','','','','crstype'".')" />'.                       '<td><br /><span class="LC_nobreak"><input type="text" name="coursedesc" value="" onfocus="this.blur();opencrsbrowser('."'cu','dccourse','dcdomain','coursedesc','','','','crstype'".')" />'.
Line 7221  sub course_level_dc { Line 7249  sub course_level_dc {
                      '</tr></table></td>'."\n";                       '</tr></table></td>'."\n";
     if ($showcredits) {      if ($showcredits) {
         $otheritems .= '<td><br />'."\n".          $otheritems .= '<td><br />'."\n".
                        '<input type="text" size="3" name="credits" value="" />'."\n";                         '<input type="text" size="3" name="credits" value="" /></td>'."\n";
     }      }
     $otheritems .= <<ENDTIMEENTRY;      $otheritems .= <<ENDTIMEENTRY;
 <td><br /><input type="hidden" name="start" value='' />  <td><br /><input type="hidden" name="start" value='' />

Removed from v.1.393  
changed lines
  Added in v.1.397


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