version 1.90, 2006/06/14 19:13:11
|
version 1.93, 2006/06/26 18:56:50
|
Line 304 sub rolesprefchanger {
|
Line 304 sub rolesprefchanger {
|
if ($env{'environment.recentroles'}) { |
if ($env{'environment.recentroles'}) { |
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 = |
|
&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 313 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 ($value eq 'role_frozen') { |
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 345 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 370 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 = ""; |
|
$trole = &Apache::lonnet::plaintext($role); |
|
my ($tdomain,$other,$tsection)= split(/\//,Apache::lonnet::declutter($rest)); |
|
my $tother = '-'; |
|
if ($role =~ /^(cc|st|in|ta|ep|cr)/ ) { |
|
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 399 sub verify_and_change_rolespref {
|
Line 415 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}='role_frozen'; |
$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 = |
|
&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 (($recent_roles{$role_key} eq 'role_frozen') && |
if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) { |
(!exists($freeze{$role_key}))) { |
$message .= "<br />".&mt('Unfreezing Role: [_1]',$role_text{$role_key})."\n"; |
$message .= "<br />".&mt('Unfreezing Role: [_1]',$role_key)."\n"; |
&Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0); |
&Apache::lonhtmlcommon::store_recent('roles',$role_key,' '); |
|
} |
} |
} |
} |
|
|
# Freeze selected roles |
# Freeze selected roles |
foreach my $role_key (@freeze_list) { |
foreach my $role_key (@freeze_list) { |
$message .= "<br />".&mt('Freezing Role: [_1]',$role_key)."\n"; |
if (!$frozen_roles{$role_key}) { |
if ($recent_roles{$role_key} ne 'role_frozen') { |
$message .= "<br />".&mt('Freezing Role: [_1]',$role_text{$role_key})."\n"; |
&Apache::lonhtmlcommon::store_recent('roles', |
&Apache::lonhtmlcommon::store_recent('roles', |
$role_key,'role_frozen'); |
$role_key,' ',1); |
} |
} |
} |
} |
$message .= "<hr /><br />\n"; |
$message .= "<hr /><br />\n"; |