--- loncom/interface/loncreateuser.pm 2007/06/11 19:41:35 1.153 +++ loncom/interface/loncreateuser.pm 2007/07/20 23:55:12 1.158 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.153 2007/06/11 19:41:35 banghart Exp $ +# $Id: loncreateuser.pm,v 1.158 2007/07/20 23:55:12 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,7 +65,6 @@ use Apache::lonnet; use Apache::loncommon; use Apache::lonlocal; use Apache::longroup; -use lib '/home/httpd/lib/perl/'; use LONCAPA qw(:DEFAULT :match); my $loginscript; # piece of javascript used in two separate instances @@ -222,10 +221,10 @@ sub print_username_entry_form { $r->print(<<"ENDDOCUMENT"); $start_page
'. + ''. &Apache::loncommon::end_page()); } # -------------------------------------------------------- @@ -1722,14 +1726,14 @@ sub make_script_template { my ($priv,$restrict)=split(/\&/,$item); $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); $full_s{$priv}=1; } $return_script .= 'function set_'.$role.'() {'."\n"; my @temp = split(/:/,$Apache::lonnet::pr{$role.':c'}); my %role_c; - foreach my $priv(@temp) { + foreach my $priv (@temp) { my ($priv_item, $dummy) = split(/\&/,$priv); $role_c{$priv_item} = 1; } @@ -1741,16 +1745,44 @@ sub make_script_template { $return_script .= "document.form1.$priv"."_c.checked = false;\n"; } } - my @role_d = split(/:/,$Apache::lonnet::pr{$role.':d'}); - foreach my $priv_item (@role_d) { + my %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); - $return_script .= "document.form1.$priv"."_d.checked = true;\n"; + 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); + 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 $return_script; + return ($return_script); +} +# ---------------------------------------------------------- +sub make_button_code { + my ($role) = @_; + my $label = &Apache::lonnet::plaintext($role); + my $button_code = ''; + return ($button_code); } - # ---------------------------------------------------------- Call to definerole sub set_custom_role { my ($r) = @_; @@ -1899,7 +1931,7 @@ sub course_level_table { if (&Apache::lonnet::allowed('c'.$role,$thiscourse)) { my $plrole=&Apache::lonnet::plaintext($role); $table .= &Apache::loncommon::start_data_table_row(). -'