Diff for /loncom/interface/lonuserutils.pm between versions 1.25 and 1.26

version 1.25, 2007/12/22 04:23:05 version 1.26, 2007/12/22 04:58:45
Line 1990  END Line 1990  END
                                                    $context,$permission,$mode);                                                     $context,$permission,$mode);
         $r->print('<b>'.$results_description.'</b><br />');          $r->print('<b>'.$results_description.'</b><br />');
     }      }
     my ($output,$actionselect);      my ($output,$actionselect,%canchange,%canchangesec);
     if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') {      if ($mode eq 'html' || $mode eq 'view' || $mode eq 'autoenroll') {
         if ($mode ne 'autoenroll') {          if ($mode ne 'autoenroll') {
             if ($permission->{'cusr'}) {              if ($permission->{'cusr'}) {
Line 2029  $lt{'ac'}:&nbsp;$actionselect <input typ Line 2029  $lt{'ac'}:&nbsp;$actionselect <input typ
 <p><input type="button" value="$lt{'ca'}" onclick="javascript:checkAll(document.studentform.actionlist)" /> &nbsp;  <p><input type="button" value="$lt{'ca'}" onclick="javascript:checkAll(document.studentform.actionlist)" /> &nbsp;
 <input type="button" value="$lt{'ua'}" onclick="javascript:uncheckAll(document.studentform.actionlist)" />  <input type="button" value="$lt{'ua'}" onclick="javascript:uncheckAll(document.studentform.actionlist)" />
 END  END
                   my @allroles;
                   if ($env{'form.showrole'} eq 'Any') {
                       my $custom = 1;
                       if ($context eq 'domain') {
                           @allroles = &roles_by_context($setting,$custom);
                       } else {
                           @allroles = &roles_by_context($context,$custom);
                       }
                   } else {
                       @allroles = ($env{'form.showrole'});
                   }
                   foreach my $role (@allroles) {
                       if ($context eq 'domain') {
                           if ($setting eq 'domain') {
                               if (&Apache::lonnet::allowed('c'.$role,
                                       $env{'request.role.domain'})) {
                                   $canchange{$role} = 1;
                               }
                           }
                       } elsif ($context eq 'author') {
                           if (&Apache::lonnet::allowed('c'.$role,
                               $env{'user.domain'}.'/'.$env{'user.name'})) {
                               $canchange{$role} = 1;
                           }
                       } elsif ($context eq 'course') {
                           if (&Apache::lonnet::allowed('c'.$role,$env{'request.course.id'})) {
                               $canchange{$role} = 1;
                           } elsif ($env{'request.course.sec'} ne '') {
                               if (&Apache::lonnet::allowed('c'.$role,$env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
                                   $canchangesec{$role} = $env{'request.course.sec'};
                               }
                           }
                       }
                   }
             }              }
         }          }
         $output .= "\n<p>\n".          $output .= "\n<p>\n".
Line 2242  END Line 2276  END
                 $r->print("<td>$rowcount</td>\n");                  $r->print("<td>$rowcount</td>\n");
                 $checkval;                  $checkval;
                 if ($actionselect) {                  if ($actionselect) {
                     $checkval = $user;                       my $showcheckbox;
                     if ($context eq 'course') {                      if ($role =~ /^cr\//) {
                         if ($role eq 'st') {                          $showcheckbox = $canchange{'cr'};
                             $checkval .= ':st';                      } else {
                           $showcheckbox = $canchange{$role};
                       }
                       if (!$showcheckbox) {
                           if ($context eq 'course') {
                               if ($canchangesec{$role} ne '') {
                                   if ($canchangesec{$role} eq $in{'section'}) {
                                       $showcheckbox = 1;
                                   }
                               }
                         }                          }
                         $checkval .= ':'.$in{'section'};                      }
                         if ($role eq 'st') {                      if ($showcheckbox) {
                             $checkval .= ':'.$in{'type'}.':'.$in{'lockedtype'};                          $checkval = $user; 
                           if ($context eq 'course') {
                               if ($role eq 'st') {
                                   $checkval .= ':st';
                               }
                               $checkval .= ':'.$in{'section'};
                               if ($role eq 'st') {
                                   $checkval .= ':'.$in{'type'}.':'.
                                                $in{'lockedtype'};
                               }
                         }                          }
                           $r->print('<td><input type="checkbox" name="'.
                                     'actionlist" value="'.$checkval.'"></td>');
                       } else {
                           $r->print('<td>&nbsp;</td>');
                     }                      }
                     $r->print('<td><input type="checkbox" name="actionlist" value="'.  
                               $checkval.'"></td>');  
                 }                  }
             }              }
             foreach my $item (@cols) {              foreach my $item (@cols) {
Line 2386  sub select_actions { Line 2440  sub select_actions {
     if ($context eq 'domain' && $setting eq 'course') {      if ($context eq 'domain' && $setting eq 'course') {
         return;          return;
     }      }
       if ($context eq 'course') {
           if ($env{'form.showrole'} ne 'Any') {
                if (!&Apache::lonnet::allowed('c'.$env{'form.showrole'},
                                              $env{'request.course.id'})) {
                    if ($env{'request.course.sec'} eq '') {
                        return;
                    } else {
                        if (!&Apache::lonnet::allowed('c'.$env{'form.showrole'},$env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
                            return;
                        }
                    }
               }
           }
       }
     if ($statusmode eq 'Any') {      if ($statusmode eq 'Any') {
         $options .= '          $options .= '
 <option value="chgdates">'.$lt{'chgdates'}.'</option>';  <option value="chgdates">'.$lt{'chgdates'}.'</option>';
Line 2412  sub select_actions { Line 2480  sub select_actions {
 <option value="delete">'.$lt{'delete'}.'</option>';  <option value="delete">'.$lt{'delete'}.'</option>';
     }      }
     if (($context eq 'course') || ($context eq 'domain' && $setting eq 'course')) {      if (($context eq 'course') || ($context eq 'domain' && $setting eq 'course')) {
         if ($statusmode ne 'Expired') {          if (($statusmode ne 'Expired') && ($env{'request.course.sec'} eq '')) {
             $options .= '              $options .= '
 <option value="chgsec">'.$lt{'chgsec'}.'</option>';  <option value="chgsec">'.$lt{'chgsec'}.'</option>';
             $choices{'sections'} = 1;              $choices{'sections'} = 1;
Line 2519  END Line 2587  END
             if (($env{'form.bulkaction'} eq 'reenable') ||               if (($env{'form.bulkaction'} eq 'reenable') || 
                 ($env{'form.bulkaction'} eq 'activate') ||                   ($env{'form.bulkaction'} eq 'activate') || 
                 ($env{'form.bulkaction'} eq 'chgdates')) {                  ($env{'form.bulkaction'} eq 'chgdates')) {
                 $output .= <<"END";                  if ($env{'request.course.sec'} eq '') {
                       $output .= <<"END";
     
         if (formname.makedatesdefault.checked == true) {          if (formname.makedatesdefault.checked == true) {
             opener.document.$callingform.makedatesdefault.value = 1;              opener.document.$callingform.makedatesdefault.value = 1;
Line 2529  END Line 2598  END
         }          }
   
 END  END
                   }
             }              }
         }          }
         $output .= <<"END";          $output .= <<"END";
Line 2578  END Line 2648  END
                 $date_items;                  $date_items;
     if ($context eq 'course' && $env{'form.bulkaction'} eq 'chgsec') {      if ($context eq 'course' && $env{'form.bulkaction'} eq 'chgsec') {
         my ($cnum,$cdom) = &get_course_identity();          my ($cnum,$cdom) = &get_course_identity();
         my %sections_count =  
             &Apache::loncommon::get_sections($cdom,$cnum);  
         my $info;          my $info;
         if ($env{'form.showrole'} eq 'st') {          if ($env{'form.showrole'} eq 'st') {
             $output .= '<p>'.$lt{'fors'}.'</p>';               $output .= '<p>'.$lt{'fors'}.'</p>'; 
         } elsif ($env{'form.shorole'} eq 'Any') {          } elsif ($env{'form.showrole'} eq 'Any') {
             $output .= '<p>'.$lt{'fors'}.'</p>'.              $output .= '<p>'.$lt{'fors'}.'</p>'.
                        '<p>'.$lt{'forn'}.'&nbsp;';                         '<p>'.$lt{'forn'}.'&nbsp;';
             $info = $lt{'reta'};              $info = $lt{'reta'};
Line 2604  END Line 2672  END
         } else {          } else {
             $info = '<input type="hidden" name="retainsec" value="0" />';               $info = '<input type="hidden" name="retainsec" value="0" />'; 
         }          }
         my $sections_select .= &course_sections(\%sections_count,$env{'form.showrole'});  
         my $rowtitle = &mt('New section to assign');          my $rowtitle = &mt('New section to assign');
         my $secbox = &section_picker($cdom,$cnum,$env{'form.showrole'},$rowtitle,$permission,$context);          my $secbox = &section_picker($cdom,$cnum,$env{'form.showrole'},$rowtitle,$permission,$context);
         $output .= $info.$secbox;          $output .= $info.$secbox;
Line 2669  sub results_header_row { Line 2736  sub results_header_row {
                 $description .= &mt('All users in course with [_1] roles',$rolefilter);                  $description .= &mt('All users in course with [_1] roles',$rolefilter);
             }              }
         }          }
         if (exists($permission->{'view_section'})) {          my $viewablesec = &viewable_section($permission);
           if ($viewablesec ne '') {
             if ($env{'form.showrole'} eq 'st') {              if ($env{'form.showrole'} eq 'st') {
                 $description .= ' '.&mt('(section [_1] only)',$permission->{'view_section'});                  $description .= ' '.&mt('(section [_1] only)',$viewablesec);
             } elsif ($env{'form.showrole'} eq 'any') {              } elsif ($env{'form.showrole'} ne 'cc') {
                 $description .= ' '.&mt('(section [_1] only)',$permission->{'view_section'});                  $description .= ' '.&mt('(only users affiliated with no section or section [_1])',$viewablesec);
             }              }
         }          }
     } elsif ($context eq 'author') {      } elsif ($context eq 'author') {

Removed from v.1.25  
changed lines
  Added in v.1.26


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