Diff for /loncom/interface/lonpreferences.pm between versions 1.91 and 1.92

version 1.91, 2006/06/22 23:22:41 version 1.92, 2006/06/22 23:30:33
Line 307  sub rolesprefchanger { Line 307  sub rolesprefchanger {
         my %frozen_roles =          my %frozen_roles =
                &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});                 &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});
                   
           my %role_text = &rolespref_get_role_text(keys(%recent_roles));
           my @sorted_roles = sort {$role_text{$a} cmp $role_text{$b}} keys(%role_text);
   
         $roles_check_list .=          $roles_check_list .=
     &Apache::loncommon::start_data_table().      &Apache::loncommon::start_data_table().
     &Apache::loncommon::start_data_table_header_row().      &Apache::loncommon::start_data_table_header_row().
Line 315  sub rolesprefchanger { Line 318  sub rolesprefchanger {
     &Apache::loncommon::end_data_table_header_row().      &Apache::loncommon::end_data_table_header_row().
     "\n";      "\n";
  my $count;   my $count;
         foreach $role_key (sort(keys(%recent_roles))) {          foreach $role_key (@sorted_roles) {
             my $checked = "";              my $checked = "";
             my $value = $recent_roles{$role_key};              my $value = $recent_roles{$role_key};
             if ($frozen_roles{$role_key}) {              if ($frozen_roles{$role_key}) {
                 $checked = "checked=\"checked\"";                  $checked = "checked=\"checked\"";
             }              }
 # get course information  
             my ($role,$rest) = split(/\./, $role_key);  
             my $trole = &Apache::lonnet::plaintext($role);  
             my ($tdomain,$other,$tsection)=  
                     split(/\//,Apache::lonnet::declutter($rest));  
             my $tother = '-';  
             if ($role =~ /cc|st|in|ta/ ) {  
                my %newhash=&Apache::lonnet::coursedescription($tdomain."_".$other);  
                $tother = " - ".$newhash{'description'};  
             } elsif ($role =~ /dc/) {  
                $tother = "";  
             } else {  
                $tother = " - $other";  
             }  
   
             my $section="";  
     if ($tsection) {  
                $section = " - Section/Group: $tsection";  
             }  
     $count++;      $count++;
             $roles_check_list .=              $roles_check_list .=
  &Apache::loncommon::start_data_table_row().   &Apache::loncommon::start_data_table_row().
Line 347  sub rolesprefchanger { Line 331  sub rolesprefchanger {
  "<input type=\"checkbox\" $checked name=\"freezeroles\"".   "<input type=\"checkbox\" $checked name=\"freezeroles\"".
  " id=\"freezeroles$count\" value=\"$role_key\" /></td>".   " id=\"freezeroles$count\" value=\"$role_key\" /></td>".
  "<td><label for=\"freezeroles$count\">".   "<td><label for=\"freezeroles$count\">".
  "$trole - $tdomain $tother $section</label></td>".   "$role_text{$role_key}</label></td>".
  &Apache::loncommon::end_data_table_row(). "\n";   &Apache::loncommon::end_data_table_row(). "\n";
         }          }
         $roles_check_list .= "</table>\n";          $roles_check_list .= "</table>\n";
Line 372  sub rolesprefchanger { Line 356  sub rolesprefchanger {
 </form>');  </form>');
 }  }
   
   sub rolespref_get_role_text {
   # Get a line of text for each role
       my ($roles) = @_;
       my %roletext = ();
   
       foreach my $item (@$roles) {
   # get course information
           my ($role,$rest) = split(/\./, $item);
           my $trole = &Apache::lonnet::plaintext($role);
           my ($tdomain,$other,$tsection)= split(/\//,Apache::lonnet::declutter($rest));
           my $tother = '-';
           if ($role =~ /cc|st|in|ta/ ) {
               my %newhash=&Apache::lonnet::coursedescription($tdomain."_".$other);
               $tother = " - ".$newhash{'description'};
           } elsif ($role =~ /dc/) {
               $tother = "";
           } else {
               $tother = " - $other";
           }
    
           my $section="";
           if ($tsection) {
               $section = " - Section/Group: $tsection";
           }
           $roletext{$item} = $tdomain." - ".$trole.$tother.$section;
       }
       return %roletext;
   }
   
 sub verify_and_change_rolespref {  sub verify_and_change_rolespref {
     my $r = shift;      my $r = shift;
     my $user       = $env{'user.name'};      my $user       = $env{'user.name'};
Line 401  sub verify_and_change_rolespref { Line 414  sub verify_and_change_rolespref {
 # Get list of froze roles and list of recent roles  # Get list of froze roles and list of recent roles
     my @freeze_list = &Apache::loncommon::get_env_multiple('form.freezeroles');      my @freeze_list = &Apache::loncommon::get_env_multiple('form.freezeroles');
     my %freeze = ();      my %freeze = ();
       my %roletext = ();
   
     foreach my $key (@freeze_list) {      foreach my $key (@freeze_list) {
         $freeze{$key}='1';          $freeze{$key}='1';
     }      }
       
     my %recent_roles =      my %recent_roles =
         &Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'});          &Apache::lonhtmlcommon::get_recent('roles',$env{'environment.recentrolesn'});
     my %frozen_roles =      my %frozen_roles =
         &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});          &Apache::lonhtmlcommon::get_recent_frozen('roles',$env{'environment.recentrolesn'});
       my %role_text = &rolespref_get_role_text([keys(%recent_roles)]);
   
 # Unset any roles that were previously frozen but aren't in list  # Unset any roles that were previously frozen but aren't in list
   
     foreach my $role_key (sort(keys(%recent_roles))) {      foreach my $role_key (sort(keys(%recent_roles))) {
         if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) {          if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) {
     $message .= "<br />".&mt('Unfreezing Role: [_1]',$role_key)."\n";      $message .= "<br />".&mt('Unfreezing Role: [_1]',$role_text{$role_key})."\n";
     &Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0);      &Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0);
         }          }
     }      }
Line 422  sub verify_and_change_rolespref { Line 437  sub verify_and_change_rolespref {
 # Freeze selected roles  # Freeze selected roles
     foreach my $role_key (@freeze_list) {      foreach my $role_key (@freeze_list) {
         if (!$frozen_roles{$role_key}) {          if (!$frozen_roles{$role_key}) {
              $message .= "<br />".&mt('Freezing Role: [_1]',$role_key)."\n";               $message .= "<br />".&mt('Freezing Role: [_1]',$role_text{$role_key})."\n";
              &Apache::lonhtmlcommon::store_recent('roles',               &Apache::lonhtmlcommon::store_recent('roles',
                                           $role_key,' ',1);                                            $role_key,' ',1);
         }          }

Removed from v.1.91  
changed lines
  Added in v.1.92


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