version 1.153, 2007/06/11 19:41:35
|
version 1.154, 2007/06/11 22:13:07
|
Line 1664 sub custom_role_editor {
|
Line 1664 sub custom_role_editor {
|
} |
} |
$full{$priv}=1; |
$full{$priv}=1; |
} |
} |
|
my $button_code = "\n"; |
my $head_script = "\n"; |
my $head_script = "\n"; |
$head_script .= '<script type="text/javascript">'."\n"; |
$head_script .= '<script type="text/javascript">'."\n"; |
$head_script .= &make_script_template('ta'); |
my @template_roles = ("cc","in","ta","ep","st"); |
|
foreach my $role (@template_roles) { |
|
$head_script .= &make_script_template($role); |
|
$button_code .= &make_button_code($role); |
|
} |
$head_script .= '</script>'."\n"; |
$head_script .= '</script>'."\n"; |
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
$r->print($body_top); |
$r->print($body_top); |
Line 1677 sub custom_role_editor {
|
Line 1681 sub custom_role_editor {
|
'dml' => "Domain Level", |
'dml' => "Domain Level", |
'ssl' => "System Level"); |
'ssl' => "System Level"); |
$r->print('Select a Template<br />'); |
$r->print('Select a Template<br />'); |
$r->print('<form action=""><input type="button" onClick="set_ta()" value="TA" /></form>'); |
$r->print('<form action="">'); |
|
$r->print($button_code); |
|
$r->print('</form>'); |
$r->print(<<ENDCCF); |
$r->print(<<ENDCCF); |
<form name=form1 method="post"> |
<form name=form1 method="post"> |
<input type="hidden" name="phase" value="set_custom_roles" /> |
<input type="hidden" name="phase" value="set_custom_roles" /> |
Line 1704 ENDCCF
|
Line 1710 ENDCCF
|
&Apache::loncommon::end_data_table_row()); |
&Apache::loncommon::end_data_table_row()); |
} |
} |
$r->print(&Apache::loncommon::end_data_table(). |
$r->print(&Apache::loncommon::end_data_table(). |
'<input type="submit" value="'.&mt('Define Role').'" /></form>'. |
'<input type="reset" value="Reset"><input type="submit" value="'.&mt('Define Role').'" /></form>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
} |
} |
# -------------------------------------------------------- |
# -------------------------------------------------------- |
Line 1722 sub make_script_template {
|
Line 1728 sub make_script_template {
|
my ($priv,$restrict)=split(/\&/,$item); |
my ($priv,$restrict)=split(/\&/,$item); |
$full_d{$priv}=1; |
$full_d{$priv}=1; |
} |
} |
foreach my $item (split(/\:/,$Apache::lonnet::pr{'cr:d'})) { |
foreach my $item (split(/\:/,$Apache::lonnet::pr{'cr:s'})) { |
my ($priv,$restrict)=split(/\&/,$item); |
my ($priv,$restrict)=split(/\&/,$item); |
$full_s{$priv}=1; |
$full_s{$priv}=1; |
} |
} |
Line 1741 sub make_script_template {
|
Line 1747 sub make_script_template {
|
$return_script .= "document.form1.$priv"."_c.checked = false;\n"; |
$return_script .= "document.form1.$priv"."_c.checked = false;\n"; |
} |
} |
} |
} |
my @role_d = split(/:/,$Apache::lonnet::pr{$role.':d'}); |
my %role_d; |
foreach my $priv_item (@role_d) { |
@temp = split(/:/,$Apache::lonnet::pr{$role.':d'}); |
|
foreach my $priv(@temp) { |
|
my ($priv_item, $dummy) = split(/\&/,$priv); |
|
$role_d{$priv_item} = 1; |
|
} |
|
foreach my $priv_item (keys(%full_d)) { |
|
my ($priv, $dummy) = split(/\&/,$priv_item); |
|
if (exists($role_d{$priv})) { |
|
$return_script .= "document.form1.$priv"."_d.checked = true;\n"; |
|
} else { |
|
$return_script .= "document.form1.$priv"."_d.checked = false;\n"; |
|
} |
|
} |
|
my %role_s; |
|
@temp = split(/:/,$Apache::lonnet::pr{$role.':s'}); |
|
foreach my $priv(@temp) { |
|
my ($priv_item, $dummy) = split(/\&/,$priv); |
|
$role_s{$priv_item} = 1; |
|
} |
|
foreach my $priv_item (keys(%full_s)) { |
my ($priv, $dummy) = split(/\&/,$priv_item); |
my ($priv, $dummy) = split(/\&/,$priv_item); |
$return_script .= "document.form1.$priv"."_d.checked = true;\n"; |
if (exists($role_s{$priv})) { |
|
$return_script .= "document.form1.$priv"."_s.checked = true;\n"; |
|
} else { |
|
$return_script .= "document.form1.$priv"."_s.checked = false;\n"; |
|
} |
} |
} |
|
|
$return_script .= '}'."\n"; |
$return_script .= '}'."\n"; |
return $return_script; |
return ($return_script); |
|
} |
|
# ---------------------------------------------------------- |
|
sub make_button_code { |
|
my ($role) = @_; |
|
my $label = &Apache::lonnet::plaintext($role); |
|
my $button_code = '<input type="button" onClick="set_'.$role.'()" value="'.$label.'" />'; |
|
return ($button_code); |
} |
} |
|
|
# ---------------------------------------------------------- Call to definerole |
# ---------------------------------------------------------- Call to definerole |
sub set_custom_role { |
sub set_custom_role { |
my ($r) = @_; |
my ($r) = @_; |