Diff for /loncom/interface/loncreateuser.pm between versions 1.456 and 1.462

version 1.456, 2021/12/10 04:14:52 version 1.462, 2022/11/14 22:33:28
Line 247  sub build_tools_display { Line 247  sub build_tools_display {
                    'aboutme'    => "Personal Information Page",                     'aboutme'    => "Personal Information Page",
                    'webdav'     => "WebDAV access to Authoring Spaces (if SSL and author/co-author)",                     'webdav'     => "WebDAV access to Authoring Spaces (if SSL and author/co-author)",
                    'portfolio'  => "Personal User Portfolio",                     'portfolio'  => "Personal User Portfolio",
                      'timezone'   => "Can set Time Zone",
                    'avai'       => "Available",                     'avai'       => "Available",
                    'cusa'       => "availability",                     'cusa'       => "availability",
                    'chse'       => "Change setting",                     'chse'       => "Change setting",
Line 260  sub build_tools_display { Line 261  sub build_tools_display {
                    'lti'        => 'Can request creation of LTI courses',                     'lti'        => 'Can request creation of LTI courses',
                    'requestauthor'  => 'Can request author space',                     'requestauthor'  => 'Can request author space',
     );      );
       $isadv = &Apache::lonnet::is_advanced_user($ccdomain,$ccuname);
     if ($context eq 'requestcourses') {      if ($context eq 'requestcourses') {
         %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,          %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
                       'requestcourses.official','requestcourses.unofficial',                        'requestcourses.official','requestcourses.unofficial',
Line 273  sub build_tools_display { Line 275  sub build_tools_display {
         $colspan = ' colspan="2"';          $colspan = ' colspan="2"';
         %domconfig =          %domconfig =
             &Apache::lonnet::get_dom('configuration',['requestcourses'],$ccdomain);              &Apache::lonnet::get_dom('configuration',['requestcourses'],$ccdomain);
         $isadv = &Apache::lonnet::is_advanced_user($ccdomain,$ccuname);  
     } elsif ($context eq 'requestauthor') {      } elsif ($context eq 'requestauthor') {
         %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,          %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
                                                     'requestauthor');                                                      'requestauthor');
Line 287  sub build_tools_display { Line 288  sub build_tools_display {
     } else {      } else {
         %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,          %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
                           'tools.aboutme','tools.portfolio','tools.blog',                            'tools.aboutme','tools.portfolio','tools.blog',
                           'tools.webdav');                            'tools.webdav','tools.timezone');
         @usertools = ('aboutme','blog','webdav','portfolio');          @usertools = ('aboutme','blog','webdav','portfolio','timezone');
     }      }
     foreach my $item (@usertools) {      foreach my $item (@usertools) {
         my ($custom_access,$curr_access,$cust_on,$cust_off,$tool_on,$tool_off,          my ($custom_access,$curr_access,$cust_on,$cust_off,$tool_on,$tool_off,
Line 297  sub build_tools_display { Line 298  sub build_tools_display {
         $tool_on = 'checked="checked" ';          $tool_on = 'checked="checked" ';
         $curr_access =            $curr_access =  
             &Apache::lonnet::usertools_access($ccuname,$ccdomain,$item,undef,              &Apache::lonnet::usertools_access($ccuname,$ccdomain,$item,undef,
                                               $context);                                                $context,\%userenv,'',
                                                 {'is_adv' => $isadv});
         if ($context eq 'requestauthor') {          if ($context eq 'requestauthor') {
             if ($userenv{$context} ne '') {              if ($userenv{$context} ne '') {
                 $cust_on = ' checked="checked" ';                  $cust_on = ' checked="checked" ';
Line 1617  ENDNOTOOLSPRIV Line 1619  ENDNOTOOLSPRIV
                 if ($newuser) {                  if ($newuser) {
                     $r->print(' onclick="auth_check()" \>'."\n");                      $r->print(' onclick="auth_check()" \>'."\n");
                 } else {                  } else {
                     $r->print('onclick="this.form.submit()" \>'."\n");                      $r->print(' onclick="this.form.submit()" \>'."\n");
                 }                  }
             } else {              } else {
                 $r->print('</fieldset></div>'.                  $r->print('</fieldset></div>'.
Line 2553  sub personal_data_display { Line 2555  sub personal_data_display {
         }          }
         $rowcount ++;          $rowcount ++;
         $output .= &Apache::lonhtmlcommon::row_closure(1);          $output .= &Apache::lonhtmlcommon::row_closure(1);
         my $upassone = '<input type="password" name="upass'.$now.'" size="20" autocomplete="off" />';          my $upassone = '<input type="password" name="upass'.$now.'" size="20" autocomplete="new-password" />';
         my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="20" autocomplete="off" />';          my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="20" autocomplete="new-password" />';
         $output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'<b>*</b>',          $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".
Line 2913  sub update_user_data { Line 2915  sub update_user_data {
   
     my (%alerts,%rulematch,%inst_results,%curr_rules);      my (%alerts,%rulematch,%inst_results,%curr_rules);
     my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id');      my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id');
     my @usertools = ('aboutme','blog','webdav','portfolio');      my @usertools = ('aboutme','blog','webdav','portfolio','timezone');
     my @requestcourses = ('official','unofficial','community','textbook','placement','lti');      my @requestcourses = ('official','unofficial','community','textbook','placement','lti');
     my @requestauthor = ('requestauthor');      my @requestauthor = ('requestauthor');
     my ($othertitle,$usertypes,$types) =       my ($othertitle,$usertypes,$types) = 
Line 3089  sub update_user_data { Line 3091  sub update_user_data {
         my %userenv = &Apache::lonnet::get          my %userenv = &Apache::lonnet::get
             ('environment',['firstname','middlename','lastname','generation',              ('environment',['firstname','middlename','lastname','generation',
              'id','permanentemail','portfolioquota','authorquota','inststatus',               'id','permanentemail','portfolioquota','authorquota','inststatus',
              'tools.aboutme','tools.blog','tools.webdav','tools.portfolio',               'tools.aboutme','tools.blog','tools.webdav',
                'tools.portfolio','tools.timezone',
              'requestcourses.official','requestcourses.unofficial',               'requestcourses.official','requestcourses.unofficial',
              'requestcourses.community','requestcourses.textbook',               'requestcourses.community','requestcourses.textbook',
                'requestcourses.lti','requestauthor',
              'reqcrsotherdom.official','reqcrsotherdom.unofficial',               'reqcrsotherdom.official','reqcrsotherdom.unofficial',
              'reqcrsotherdom.community','reqcrsotherdom.textbook',               'reqcrsotherdom.community','reqcrsotherdom.textbook',
              'reqcrsotherdom.placement','requestauthor'],               'reqcrsotherdom.placement'],
               $env{'form.ccdomain'},$env{'form.ccuname'});                $env{'form.ccdomain'},$env{'form.ccuname'});
         my ($tmp) = keys(%userenv);          my ($tmp) = keys(%userenv);
         if ($tmp =~ /^(con_lost|error)/i) {           if ($tmp =~ /^(con_lost|error)/i) { 
Line 3124  sub update_user_data { Line 3128  sub update_user_data {
                 }                  }
             } elsif ($context eq 'author') {              } elsif ($context eq 'author') {
                 if ($rolenum eq $auname && $roledom eq $audom) {                  if ($rolenum eq $auname && $roledom eq $audom) {
                     if (!grep(/^\Q$role\E$/,@userroles)) {                       if (!grep(/^\Q$role\E$/,@userroles)) {
                         push(@userroles,$role);                          push(@userroles,$role);
                     }                      }
                 }                  }
Line 3592  sub display_userinfo { Line 3596  sub display_userinfo {
          'webdav'         => 'WebDAV Availability',           'webdav'         => 'WebDAV Availability',
          'aboutme'        => 'Personal Information Page Availability',           'aboutme'        => 'Personal Information Page Availability',
          'portfolio'      => 'Portfolio Availability',           'portfolio'      => 'Portfolio Availability',
            'timezone'       => 'Can set own Time Zone',
          'official'       => 'Can Request Official Courses',           'official'       => 'Can Request Official Courses',
          'unofficial'     => 'Can Request Unofficial Courses',           'unofficial'     => 'Can Request Unofficial Courses',
          'community'      => 'Can Request Communities',           'community'      => 'Can Request Communities',
Line 4099  sub update_roles { Line 4104  sub update_roles {
     my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'},      my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'},
                                $env{'form.ccuname'},$url,$role,0,$now,'','',                                 $env{'form.ccuname'},$url,$role,0,$now,'','',
                                $context);                                 $context);
                         $output = &Apache::lonhtmlcommon::confirm_success(&mt('Re-enabling [_1] in [_2]',                      $output = &Apache::lonhtmlcommon::confirm_success(&mt('Re-enabling [_1] in [_2]',
                                         &Apache::lonnet::plaintext($role),                                      &Apache::lonnet::plaintext($role),
                                         &Apache::loncommon::show_role_extent($url,$context,$role)),$result ne "ok").'<br />';                                      &Apache::loncommon::show_role_extent($url,$context,$role)),$result ne "ok").'<br />';
                     if ($result ne "ok") {                      if ($result ne "ok") {
                         $output .= &mt('Error: [_1]',$result).'<br />';                          $output .= &mt('Error: [_1]',$result).'<br />';
                     }                      }
Line 4146  sub update_roles { Line 4151  sub update_roles {
                                                                                                                                                                             
                 # split multiple sections                  # split multiple sections
                 my %sections = ();                  my %sections = ();
                 my $num_sections = &build_roles($env{'form.sec_'.$full},\%sections,$5);                  my $num_sections = &build_roles($env{'form.sec_'.$full},\%sections,$five);
                 if ($num_sections == 0) {                  if ($num_sections == 0) {
                     $r->print(&Apache::loncommon::commit_customrole($udom,$uname,$url,$three,$four,$five,$start,$end,$context));                      $r->print(&Apache::loncommon::commit_customrole($udom,$uname,$url,$three,$four,$five,$start,$end,$context));
                 } else {                  } else {
Line 4169  sub update_roles { Line 4174  sub update_roles {
  # Activate roles for sections with 3 id numbers   # Activate roles for sections with 3 id numbers
  # set start, end times, and the url for the class   # set start, end times, and the url for the class
  my ($one,$two,$three)=($1,$2,$3);   my ($one,$two,$three)=($1,$2,$3);
  my $start = ( $env{'form.start_'.$one.'_'.$two.'_'.$three} ?    my $start = ( $env{'form.start_'.$one.'_'.$two.'_'.$three} ?
       $env{'form.start_'.$one.'_'.$two.'_'.$three} :         $env{'form.start_'.$one.'_'.$two.'_'.$three} :
       $now );        $now );
  my $end   = ( $env{'form.end_'.$one.'_'.$two.'_'.$three} ?    my $end   = ( $env{'form.end_'.$one.'_'.$two.'_'.$three} ?
       $env{'form.end_'.$one.'_'.$two.'_'.$three} :        $env{'form.end_'.$one.'_'.$two.'_'.$three} :
       0 );        0 );
  my $url='/'.$one.'/'.$two;   my $url='/'.$one.'/'.$two;
Line 4182  sub update_roles { Line 4187  sub update_roles {
                 my $num_sections = &build_roles($env{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections,$three);                  my $num_sections = &build_roles($env{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections,$three);
                 my $credits;                  my $credits;
                 if ($three eq 'st') {                  if ($three eq 'st') {
                     if ($showcredits) {                       if ($showcredits) {
                         my $defaultcredits =                           my $defaultcredits = 
                             &Apache::lonuserutils::get_defaultcredits($one,$two);                              &Apache::lonuserutils::get_defaultcredits($one,$two);
                         $credits = $env{'form.credits_'.$one.'_'.$two.'_'.$three};                          $credits = $env{'form.credits_'.$one.'_'.$two.'_'.$three};
Line 4222  sub update_roles { Line 4227  sub update_roles {
     } elsif ($key=~/^form\.act\_([^\_]+)\_([^\_]+)$/) {      } elsif ($key=~/^form\.act\_([^\_]+)\_([^\_]+)$/) {
  # Activate roles for sections with two id numbers   # Activate roles for sections with two id numbers
  # set start, end times, and the url for the class   # set start, end times, and the url for the class
  my $start = ( $env{'form.start_'.$1.'_'.$2} ?    my $start = ( $env{'form.start_'.$1.'_'.$2} ?
       $env{'form.start_'.$1.'_'.$2} :         $env{'form.start_'.$1.'_'.$2} :
       $now );        $now );
  my $end   = ( $env{'form.end_'.$1.'_'.$2} ?    my $end   = ( $env{'form.end_'.$1.'_'.$2} ?
       $env{'form.end_'.$1.'_'.$2} :        $env{'form.end_'.$1.'_'.$2} :
       0 );        0 );
                 my $one = $1;                  my $one = $1;
Line 7464  sub role_display_filter { Line 7469  sub role_display_filter {
                &mt('Context:').'</b><br /><select name="chgcontext">';                 &mt('Context:').'</b><br /><select name="chgcontext">';
     my @posscontexts;      my @posscontexts;
     if ($context eq 'course') {      if ($context eq 'course') {
         @posscontexts = ('any','automated','updatenow','createcourse','course','domain','selfenroll','requestcourses');          @posscontexts = ('any','automated','updatenow','createcourse','course','domain','selfenroll','requestcourses','chgtype');
     } elsif ($context eq 'domain') {      } elsif ($context eq 'domain') {
         @posscontexts = ('any','domain','requestauthor','domconfig','server');          @posscontexts = ('any','domain','requestauthor','domconfig','server');
     } else {      } else {
         @posscontexts = ('any','author','domain');          @posscontexts = ('any','author','domain');
     }       }
     foreach my $chgtype (@posscontexts) {      foreach my $chgtype (@posscontexts) {
         my $selstr = '';          my $selstr = '';
         if ($curr->{'chgcontext'} eq $chgtype) {          if ($curr->{'chgcontext'} eq $chgtype) {
Line 7513  sub rolechg_contexts { Line 7518  sub rolechg_contexts {
         %lt = &Apache::lonlocal::texthash (          %lt = &Apache::lonlocal::texthash (
                                              any          => 'Any',                                               any          => 'Any',
                                              automated    => 'Automated Enrollment',                                               automated    => 'Automated Enrollment',
                                                chgtype      => 'Enrollment Type/Lock Change',
                                              updatenow    => 'Roster Update',                                               updatenow    => 'Roster Update',
                                              createcourse => 'Course Creation',                                               createcourse => 'Course Creation',
                                              course       => 'User Management in course',                                               course       => 'User Management in course',

Removed from v.1.456  
changed lines
  Added in v.1.462


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