Diff for /loncom/interface/loncreateuser.pm between versions 1.465 and 1.468

version 1.465, 2022/11/23 02:55:37 version 1.468, 2023/06/20 14:03:52
Line 3978  sub update_roles { Line 3978  sub update_roles {
     my $now=time;      my $now=time;
     my @rolechanges;      my @rolechanges;
     my (%disallowed,%got_role_approvals,%got_instdoms,%process_by,%instdoms,      my (%disallowed,%got_role_approvals,%got_instdoms,%process_by,%instdoms,
         %pending,%reject,%notifydc);          %pending,%reject,%notifydc,%status,%unauthorized,%currqueued);
     $got_role_approvals{$context} = '';      $got_role_approvals{$context} = '';
     $process_by{$context} = {};      $process_by{$context} = {};
     my @domroles = &Apache::lonuserutils::domain_roles();      my @domroles = &Apache::lonuserutils::domain_roles();
Line 4101  sub update_roles { Line 4101  sub update_roles {
                             next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,                              next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                          $uname,$role,$now,0,$cdom,$cnum,$csec,$credits,                                           $uname,$role,$now,0,$cdom,$cnum,$csec,$credits,
                                          \%process_by,\%instdoms,\%got_role_approvals,                                           \%process_by,\%instdoms,\%got_role_approvals,
                                          \%got_instdoms,\%reject,\%pending,\%notifydc));                                           \%got_instdoms,\%reject,\%pending,\%notifydc,
                                            \%status,\%unauthorized,\%currqueued));
                         }                          }
                         my $result = &Apache::loncommon::commit_studentrole(\$logmsg,$udom,$uname,$url,$role,$now,0,$cdom,$cnum,$csec,$context,$credits);                          my $result = &Apache::loncommon::commit_studentrole(\$logmsg,$udom,$uname,$url,$role,$now,0,$cdom,$cnum,$csec,$context,$credits);
                         if (($result =~ /^error/) || ($result eq 'not_in_class') || ($result eq 'unknown_course') || ($result eq 'refused')) {                          if (($result =~ /^error/) || ($result eq 'not_in_class') || ($result eq 'unknown_course') || ($result eq 'refused')) {
Line 4131  sub update_roles { Line 4132  sub update_roles {
                             next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,                              next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                          $uname,$role,$now,0,$cdom,$cnum,$csec,'',\%process_by,                                           $uname,$role,$now,0,$cdom,$cnum,$csec,'',\%process_by,
                                          \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                           \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                          \%pending,\%notifydc));                                           \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued));
                         }                          }
                     }                      }
     my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'},      my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'},
Line 4160  sub update_roles { Line 4161  sub update_roles {
                         next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,                          next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                      $uname,$role,$now,0,$cdom,$cnum,$csec,'',\%process_by,                                       $uname,$role,$now,0,$cdom,$cnum,$csec,'',\%process_by,
                                      \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                       \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                      \%pending,\%notifydc));                                       \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued));
                     }                      }
                 }                  }
                 my $result = &Apache::lonnet::assigncustomrole(                  my $result = &Apache::lonnet::assigncustomrole(
Line 4203  sub update_roles { Line 4204  sub update_roles {
                         next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,                          next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                      $uname,$role,$start,$end,$one,$two,'','',\%process_by,                                       $uname,$role,$start,$end,$one,$two,'','',\%process_by,
                                      \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                       \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                      \%pending,\%notifydc));                                       \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued));
                     }                      }
                     $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 4223  sub update_roles { Line 4224  sub update_roles {
                             next if (&Apache::lonuserutils::restricted_dom($context,$secid,$udom,                              next if (&Apache::lonuserutils::restricted_dom($context,$secid,$udom,
                                          $uname,$role,$start,$end,$one,$two,$sec,'',\%process_by,                                           $uname,$role,$start,$end,$one,$two,$sec,'',\%process_by,
                                          \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                           \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                          \%pending,\%notifydc));                                           \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued));
                         }                          }
                         $numchanges ++;                          $numchanges ++;
         $r->print(&Apache::loncommon::commit_customrole($udom,$uname,$securl,$three,$four,$five,$start,$end,$context));          $r->print(&Apache::loncommon::commit_customrole($udom,$uname,$securl,$three,$four,$five,$start,$end,$context));
Line 4245  sub update_roles { Line 4246  sub update_roles {
       0 );        0 );
  my $url='/'.$one.'/'.$two;   my $url='/'.$one.'/'.$two;
                 my $id = $url.'_'.$three;                  my $id = $url.'_'.$three;
                 my $type = 'three';  
                 # split multiple sections                  # split multiple sections
                 my %sections = ();                  my %sections = ();
                 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);
Line 4266  sub update_roles { Line 4266  sub update_roles {
                         next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,                          next if (&Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                      $uname,$three,$start,$end,$one,$two,'',$credits,\%process_by,                                       $uname,$three,$start,$end,$one,$two,'',$credits,\%process_by,
                                      \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                       \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                      \%pending,\%notifydc));                                       \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued));
                     }                      }
                     $numchanges ++;                      $numchanges ++;
                     $r->print(&Apache::loncommon::commit_standardrole($udom,$uname,$url,$three,$start,$end,$one,$two,'',$context,$credits));                      $r->print(&Apache::loncommon::commit_standardrole($udom,$uname,$url,$three,$start,$end,$one,$two,'',$context,$credits));
Line 4290  sub update_roles { Line 4290  sub update_roles {
                                 $restricted = &Apache::lonuserutils::restricted_dom($context,$secid,$udom,                                  $restricted = &Apache::lonuserutils::restricted_dom($context,$secid,$udom,
                                                   $uname,$three,$start,$end,$one,$two,$sec,$credits,\%process_by,                                                    $uname,$three,$start,$end,$one,$two,$sec,$credits,\%process_by,
                                                   \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                                    \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                                   \%pending,\%notifydc);                                                    \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued);
                                 next if ($restricted);                                  next if ($restricted);
                             }                              }
                             $numchanges ++;                              $numchanges ++;
Line 4305  sub update_roles { Line 4305  sub update_roles {
                             $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,                              $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                               $uname,$three,$start,$end,$one,$two,'',$credits,\%process_by,                                                $uname,$three,$start,$end,$one,$two,'',$credits,\%process_by,
                                               \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                                \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                               \%pending,\%notifydc);                                                \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued);
                             next if ($restricted);                              next if ($restricted);
                         }                          }
                         $numchanges ++;                          $numchanges ++;
Line 4329  sub update_roles { Line 4329  sub update_roles {
                 my $two = $2;                  my $two = $2;
  my $url='/'.$one.'/';   my $url='/'.$one.'/';
                 my $id = $url.'_'.$two;                  my $id = $url.'_'.$two;
                   my ($cdom,$cnum) = split(/\//,$one);
                 # split multiple sections                  # split multiple sections
                 my %sections = ();                  my %sections = ();
                 my ($restricted,$numchanges);                  my ($restricted,$numchanges);
Line 4336  sub update_roles { Line 4337  sub update_roles {
                 if ($num_sections == 0) {                  if ($num_sections == 0) {
                     unless ($udom eq $one) {                      unless ($udom eq $one) {
                         $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,                          $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                           $uname,$two,$start,$end,$one,$two,'','',\%process_by,                                            $uname,$two,$start,$end,$cdom,$cnum,'','',\%process_by,
                                           \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                            \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                           \%pending,\%notifydc);                                            \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued);
                         next if ($restricted);                          next if ($restricted);
                     }                      }
                     $numchanges ++;                      $numchanges ++;
Line 4352  sub update_roles { Line 4353  sub update_roles {
                             unless ($udom eq $one) {                              unless ($udom eq $one) {
                                 undef($restricted);                                  undef($restricted);
                                 $restricted = &Apache::lonuserutils::restricted_dom($context,$secid,$udom,                                  $restricted = &Apache::lonuserutils::restricted_dom($context,$secid,$udom,
                                                   $uname,$two,$start,$end,$one,$two,$sec,'',\%process_by,                                                    $uname,$two,$start,$end,$cdom,$cnum,$sec,'',\%process_by,
                                                   \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                                    \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                                   \%pending,\%notifydc);                                                    \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued);
                                 next if ($restricted);                                  next if ($restricted);
                             }                              }
                             $numchanges ++;                              $numchanges ++;
Line 4367  sub update_roles { Line 4368  sub update_roles {
                         unless ($udom eq $one) {                          unless ($udom eq $one) {
                             undef($restricted);                              undef($restricted);
                             $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,                              $restricted = &Apache::lonuserutils::restricted_dom($context,$id,$udom,
                                               $uname,$two,$start,$end,$one,$two,'','',\%process_by,                                                $uname,$two,$start,$end,$cdom,$cnum,'','',\%process_by,
                                               \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,                                                \%instdoms,\%got_role_approvals,\%got_instdoms,\%reject,
                                               \%pending,\%notifydc);                                                \%pending,\%notifydc,\%status,\%unauthorized,\%currqueued);
                             next if ($restricted);                              next if ($restricted);
                         }                          }
                         $numchanges ++;                          $numchanges ++;
Line 4399  sub update_roles { Line 4400  sub update_roles {
             }              }
  }   }
     } # End of foreach (keys(%env))      } # End of foreach (keys(%env))
     if (keys(%reject)) {      if ((keys(%reject)) || (keys(%unauthorized))) {
         $r->print(&Apache::lonuserutils::print_roles_rejected($context,\%reject));          $r->print(&Apache::lonuserutils::print_roles_rejected($context,\%reject,\%unauthorized));
     }      }
     if (keys(%pending)) {      if ((keys(%pending)) || (keys(%currqueued))) {
         $r->print(&Apache::lonuserutils::print_roles_queued($context,\%pending,\%notifydc));          $r->print(&Apache::lonuserutils::print_roles_queued($context,\%pending,\%notifydc,\%currqueued));
     }      }
 # Flush the course logs so reverse user roles immediately updated  # Flush the course logs so reverse user roles immediately updated
     $r->register_cleanup(\&Apache::lonnet::flushcourselogs);      $r->register_cleanup(\&Apache::lonnet::flushcourselogs);
Line 4460  sub enroll_single_student { Line 4461  sub enroll_single_student {
         }          }
     }      }
     my ($startdate,$enddate) = &Apache::lonuserutils::get_dates_from_form();      my ($startdate,$enddate) = &Apache::lonuserutils::get_dates_from_form();
     my (%got_role_approvals,%got_instdoms,%process_by,%instdoms,%pending,%reject,%notifydc);      my (%got_role_approvals,%got_instdoms,%process_by,%instdoms,%pending,%reject,%notifydc,
           %status,%unauthorized,%currqueued);
     unless ($env{'form.ccdomain'} eq $env{'course.'.$env{'request.course.id'}.'.domain'}) {      unless ($env{'form.ccdomain'} eq $env{'course.'.$env{'request.course.id'}.'.domain'}) {
         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};          my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};          my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
Line 4473  sub enroll_single_student { Line 4475  sub enroll_single_student {
         if (&Apache::lonuserutils::restricted_dom($context,$id,$env{'form.ccdomain'},$env{'form.ccuname'},          if (&Apache::lonuserutils::restricted_dom($context,$id,$env{'form.ccdomain'},$env{'form.ccuname'},
                                                   'st',$startdate,$enddate,$cdom,$cnum,$csec,$credits,                                                    'st',$startdate,$enddate,$cdom,$cnum,$csec,$credits,
                                                   \%process_by,\%instdoms,\%got_role_approvals,\%got_instdoms,                                                    \%process_by,\%instdoms,\%got_role_approvals,\%got_instdoms,
                                                   \%reject,\%pending,\%notifydc)) {                                                    \%reject,\%pending,\%notifydc,\%status,\%unauthorized,\%currqueued)) {
             if (keys(%reject)) {              if ((keys(%reject)) || (keys(%unauthorized))) {
                 $r->print(&Apache::lonuserutils::print_roles_rejected($context,\%reject));                  $r->print(&Apache::lonuserutils::print_roles_rejected($context,\%reject,\%unauthorized));
             }              }
             if (keys(%pending)) {              if ((keys(%pending)) || (keys(%currqueued))) {
                 $r->print(&Apache::lonuserutils::print_roles_queued($context,\%pending,\%notifydc));                  $r->print(&Apache::lonuserutils::print_roles_queued($context,\%pending,\%notifydc,\%currqueued));
             }              }
             return;              return;
         }          }
Line 7068  ENDSCRIPT Line 7070  ENDSCRIPT
                      chgcontext         => 'any',                       chgcontext         => 'any',
                      rolelog_start_date => $defstart,                       rolelog_start_date => $defstart,
                      rolelog_end_date   => $now,                       rolelog_end_date   => $now,
                        approvals          => 'any',
                    );                     );
     my $more_records = 0;      my $more_records = 0;
   
     # set current      # set current
     my %curr;      my %curr;
     foreach my $item ('show','page','role','chgcontext') {      foreach my $item ('show','page','role','chgcontext','approvals') {
         $curr{$item} = $env{'form.'.$item};          $curr{$item} = $env{'form.'.$item};
     }      }
     my ($startdate,$enddate) =       my ($startdate,$enddate) = 
Line 7147  ENDSCRIPT Line 7150  ENDSCRIPT
         if (($context eq 'course') && ($viewablesec ne '')) {          if (($context eq 'course') && ($viewablesec ne '')) {
             next if ($roleslog{$id}{'logentry'}{'section'} ne $viewablesec);              next if ($roleslog{$id}{'logentry'}{'section'} ne $viewablesec);
         }          }
           if ($curr{'approvals'} eq 'none') {
               next if ($roleslog{$id}{'logentry'}{'approval'});
           } elsif ($curr{'approvals'} ne 'any') { 
               next if ($roleslog{$id}{'logentry'}{'approval'} ne $curr{'approvals'});
           }
         $count ++;          $count ++;
         next if ($count < $minshown);          next if ($count < $minshown);
         unless ($showntableheader) {          unless ($showntableheader) {
Line 7193  ENDSCRIPT Line 7201  ENDSCRIPT
         if ($chgcontext ne '' && $lt{$chgcontext} ne '') {          if ($chgcontext ne '' && $lt{$chgcontext} ne '') {
             $chgcontext = $lt{$chgcontext};              $chgcontext = $lt{$chgcontext};
         }          }
           my ($showreqby,%reqby);
           if (($roleslog{$id}{'logentry'}{'approval'}) &&
               ($roleslog{$id}{'logentry'}{'requester'})) {
               if ($reqby{$roleslog{$id}{'logentry'}{'requester'}} eq '') {
                   my ($requname,$requdom) = split(/:/,$roleslog{$id}{'logentry'}{'requester'});
                   $reqby{$roleslog{$id}{'logentry'}{'requester'}} =
                       &Apache::loncommon::plainname($requname,$requdom);
               }
               $showreqby = &mt('Requester').': <span class="LC_nobreak">'.$reqby{$roleslog{$id}{'logentry'}{'requester'}}.'</span><br />';
               if ($roleslog{$id}{'logentry'}{'approval'} eq 'domain') {
                   $showreqby .= &mt('Adjudicator').': <span class="LC_nobreak">'.
                                 $whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}}.
                                 '</span>';
               } else {
                   $showreqby .= '<span class="LC_nobreak">'.&mt('User approved').'</span>';
               }
           } else {
               $showreqby = $whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}};
           }
         $r->print(          $r->print(
             &Apache::loncommon::start_data_table_row()              &Apache::loncommon::start_data_table_row()
            .'<td>'.$count.'</td>'             .'<td>'.$count.'</td>'
            .'<td>'.&Apache::lonlocal::locallocaltime($roleslog{$id}{'exe_time'}).'</td>'             .'<td>'.&Apache::lonlocal::locallocaltime($roleslog{$id}{'exe_time'}).'</td>'
            .'<td>'.$whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}}.'</td>'             .'<td>'.$showreqby.'</td>'
            .'<td>'.$changed{$roleslog{$id}{'uname'}.':'.$roleslog{$id}{'udom'}}.'</td>'             .'<td>'.$changed{$roleslog{$id}{'uname'}.':'.$roleslog{$id}{'udom'}}.'</td>'
            .'<td>'.&Apache::lonnet::plaintext($roleslog{$id}{'logentry'}{'role'},$crstype).'</td>');             .'<td>'.&Apache::lonnet::plaintext($roleslog{$id}{'logentry'}{'role'},$crstype).'</td>');
         if ($context eq 'course') {           if ($context eq 'course') { 
Line 7551  sub activity_display_filter { Line 7578  sub activity_display_filter {
     my $nolink = 1;      my $nolink = 1;
     my $output = '<table><tr><td valign="top">'.      my $output = '<table><tr><td valign="top">'.
                  '<span class="LC_nobreak"><b>'.&mt('Actions/page:').'</b></span><br />'.                   '<span class="LC_nobreak"><b>'.&mt('Actions/page:').'</b></span><br />'.
                  &Apache::lonmeta::selectbox('show',$curr->{'show'},undef,                   &Apache::lonmeta::selectbox('show',$curr->{'show'},'',undef,
                                               (&mt('all'),5,10,20,50,100,1000,10000)).                                                (&mt('all'),5,10,20,50,100,1000,10000)).
                  '</td><td>&nbsp;&nbsp;</td>';                   '</td><td>&nbsp;&nbsp;</td>';
     my $startform =      my $startform =
Line 7638  sub userlogdisplay_navlinks { Line 7665  sub userlogdisplay_navlinks {
   
 sub role_display_filter {  sub role_display_filter {
     my ($context,$formname,$cdom,$cnum,$curr,$version,$crstype) = @_;      my ($context,$formname,$cdom,$cnum,$curr,$version,$crstype) = @_;
     my $lctype;  
     if ($context eq 'course') {  
         $lctype = lc($crstype);  
     }  
     my $nolink = 1;      my $nolink = 1;
     my $output = '<table><tr><td valign="top">'.      my $output = '<table><tr><td valign="top">'.
                  '<span class="LC_nobreak"><b>'.&mt('Changes/page:').'</b></span><br />'.                   '<span class="LC_nobreak"><b>'.&mt('Changes/page:').'</b></span><br />'.
                  &Apache::lonmeta::selectbox('show',$curr->{'show'},undef,                   &Apache::lonmeta::selectbox('show',$curr->{'show'},'',undef,
                                               (&mt('all'),5,10,20,50,100,1000,10000)).                                                (&mt('all'),5,10,20,50,100,1000,10000)).
                  '</td><td>&nbsp;&nbsp;</td>';                   '</td><td>&nbsp;&nbsp;</td>';
     my $startform =      my $startform =
Line 7669  sub role_display_filter { Line 7692  sub role_display_filter {
     if ($curr->{'role'} eq 'any') {      if ($curr->{'role'} eq 'any') {
         $output .= ' selected="selected"';          $output .= ' selected="selected"';
     }      }
     $output .=  '>'.&mt('Any').'</option>'."\n";      $output .= '>'.&mt('Any').'</option>'."\n";
     my @roles = &Apache::lonuserutils::roles_by_context($context,1,$crstype);      my @roles = &Apache::lonuserutils::roles_by_context($context,1,$crstype);
     foreach my $role (@roles) {      foreach my $role (@roles) {
         my $plrole;          my $plrole;
Line 7690  sub role_display_filter { Line 7713  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','chgtype');          @posscontexts = ('any','automated','updatenow','createcourse','course','domain','selfenroll','requestcourses','chgtype','ltienroll');
     } elsif ($context eq 'domain') {      } elsif ($context eq 'domain') {
         @posscontexts = ('any','domain','requestauthor','domconfig','server');          @posscontexts = ('any','domain','requestauthor','domconfig','server');
     } else {      } else {
Line 7708  sub role_display_filter { Line 7731  sub role_display_filter {
         }          }
         $output .= '<option value="'.$chgtype.'"'.$selstr.'>'.$lt{$chgtype}.'</option>'."\n";          $output .= '<option value="'.$chgtype.'"'.$selstr.'>'.$lt{$chgtype}.'</option>'."\n";
     }      }
     $output .= '</select></td>'      my @possapprovals = ('any','none','domain','user');
               .'</tr></table>';      my %apptxt = &approval_types();
       $output .= '</select></td>'.
                  '<td>&nbsp;&nbsp;</td>'.
                  '<td valign="top"><b>'.
                  &mt('Approvals:').'</b><br /><select name="approvals">';
       foreach my $approval (@possapprovals) {
           my $selstr = '';
           if ($curr->{'approvals'} eq $approval) {
               $selstr = ' selected="selected"';
           }    
           $output .= '<option value="'.$approval.'"'.$selstr.'>'.$apptxt{$approval}.'</option>';
       }
       $output .= '</select></td></tr></table>';
   
     # Update Display button      # Update Display button
     $output .= '<p>'      $output .= '<p>'
Line 7746  sub rolechg_contexts { Line 7781  sub rolechg_contexts {
                                              domain       => 'User Management in domain',                                               domain       => 'User Management in domain',
                                              selfenroll   => 'Self-enrolled',                                               selfenroll   => 'Self-enrolled',
                                              requestcourses => 'Course Request',                                               requestcourses => 'Course Request',
                                                ltienroll    => 'Enrollment via LTI',
                                          );                                           );
         if ($crstype eq 'Community') {          if ($crstype eq 'Community') {
             $lt{'createcourse'} = &mt('Community Creation');              $lt{'createcourse'} = &mt('Community Creation');
Line 7770  sub rolechg_contexts { Line 7806  sub rolechg_contexts {
     return %lt;      return %lt;
 }  }
   
   sub approval_types {
       return &Apache::lonlocal::texthash (
                                             any => 'Any',
                                             none => 'No approval needed',
                                             user => 'Role recipient approval',
                                             domain => 'Domain coordinator approval',
                                          );
   }
   
 sub print_helpdeskaccess_display {  sub print_helpdeskaccess_display {
     my ($r,$permission,$brcrum) = @_;      my ($r,$permission,$brcrum) = @_;
     my $formname = 'helpdeskaccess';      my $formname = 'helpdeskaccess';

Removed from v.1.465  
changed lines
  Added in v.1.468


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