version 1.258, 2008/07/18 02:12:39
|
version 1.264, 2008/11/27 15:15:06
|
Line 33 package Apache::loncreateuser;
|
Line 33 package Apache::loncreateuser;
|
|
|
=head1 NAME |
=head1 NAME |
|
|
Apache::loncreateuser - handler to create users and custom roles |
Apache::loncreateuser.pm |
|
|
=head1 SYNOPSIS |
=head1 SYNOPSIS |
|
|
Apache::loncreateuser provides an Apache handler for creating users, |
Handler to create users and custom roles |
|
|
|
Provides an Apache handler for creating users, |
editing their login parameters, roles, and removing roles, and |
editing their login parameters, roles, and removing roles, and |
also creating and assigning custom roles. |
also creating and assigning custom roles. |
|
|
Line 833 ENDNOPORTPRIV
|
Line 835 ENDNOPORTPRIV
|
$addrolesdisplay = $add_domainroles; |
$addrolesdisplay = $add_domainroles; |
} |
} |
$r->print(&course_level_dc($env{'request.role.domain'},'Course')); |
$r->print(&course_level_dc($env{'request.role.domain'},'Course')); |
$r->print('<br /><input type="button" value="'.&mt('Modify User').'" onClick="setCourse()" />'."\n"); |
$r->print('<br /><input type="button" value="'.&mt('Save').'" onClick="setCourse()" />'."\n"); |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
if ($addrolesdisplay) { |
if ($addrolesdisplay) { |
$r->print('<br /><input type="button" value="'.&mt('Modify User').'"'); |
$r->print('<br /><input type="button" value="'.&mt('Save').'"'); |
if ($newuser) { |
if ($newuser) { |
$r->print(' onClick="auth_check()" \>'."\n"); |
$r->print(' onClick="auth_check()" \>'."\n"); |
} else { |
} else { |
Line 848 ENDNOPORTPRIV
|
Line 850 ENDNOPORTPRIV
|
} |
} |
} else { |
} else { |
$r->print(&course_level_table(%inccourses)); |
$r->print(&course_level_table(%inccourses)); |
$r->print('<br /><input type="button" value="'.&mt('Modify User').'" onClick="setSections(this.form)" />'."\n"); |
$r->print('<br /><input type="button" value="'.&mt('Save').'" onClick="setSections(this.form)" />'."\n"); |
} |
} |
} |
} |
$r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); |
$r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); |
Line 967 sub display_existing_roles {
|
Line 969 sub display_existing_roles {
|
if (defined($coursedata{'description'})) { |
if (defined($coursedata{'description'})) { |
$carea=$coursedata{'description'}. |
$carea=$coursedata{'description'}. |
'<br />'.&mt('Domain').': '.$coursedom.(' 'x8). |
'<br />'.&mt('Domain').': '.$coursedom.(' 'x8). |
&Apache::loncommon::syllabuswrapper('Syllabus',$coursedir,$coursedom); |
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$coursedir,$coursedom); |
$sortkey.="\0".$coursedata{'description'}; |
$sortkey.="\0".$coursedata{'description'}; |
$class=$coursedata{'type'}; |
$class=$coursedata{'type'}; |
} else { |
} else { |
Line 1421 sub personal_data_display {
|
Line 1423 sub personal_data_display {
|
'lastname' => "Last Name", |
'lastname' => "Last Name", |
'generation' => "Generation", |
'generation' => "Generation", |
'permanentemail' => "Permanent e-mail address", |
'permanentemail' => "Permanent e-mail address", |
'id' => "ID/Student Number", |
'id' => "Student/Employee ID", |
'lg' => "Login Data" |
'lg' => "Login Data" |
); |
); |
my %textboxsize = ( |
my %textboxsize = ( |
Line 1847 sub update_user_data {
|
Line 1849 sub update_user_data {
|
$env{'form.c'.$item} = $userenv{$item}; |
$env{'form.c'.$item} = $userenv{$item}; |
} |
} |
} |
} |
# Check to see if we can change the ID/student number |
# Check to see if we can change the Student/Employee ID |
my $forceid = $env{'form.forceid'}; |
my $forceid = $env{'form.forceid'}; |
my $recurseid = $env{'form.recurseid'}; |
my $recurseid = $env{'form.recurseid'}; |
my (%alerts,%rulematch,%idinst_results,%curr_rules,%got_rules); |
my (%alerts,%rulematch,%idinst_results,%curr_rules,%got_rules); |
Line 1858 sub update_user_data {
|
Line 1860 sub update_user_data {
|
(!$forceid)) { |
(!$forceid)) { |
if ($env{'form.cid'} ne $uidhash{$env{'form.ccuname'}}) { |
if ($env{'form.cid'} ne $uidhash{$env{'form.ccuname'}}) { |
$env{'form.cid'} = $userenv{'id'}; |
$env{'form.cid'} = $userenv{'id'}; |
$no_forceid_alert = &mt('New student/employeeID does not match existing ID for this user.').'<br />'.&mt('Change is not permitted without checking the \'Force ID change\' checkbox on the previous page.').'<br />'."\n"; |
$no_forceid_alert = &mt('New Student/Employee ID does not match existing ID for this user.') |
|
.'<br />' |
|
.&mt("Change is not permitted without checking the 'Force ID change' checkbox on the previous page.") |
|
.'<br />'."\n"; |
} |
} |
} |
} |
if ($env{'form.cid'} ne $userenv{'id'}) { |
if ($env{'form.cid'} ne $userenv{'id'}) { |
Line 1972 sub update_user_data {
|
Line 1977 sub update_user_data {
|
'mddl' => "middle", |
'mddl' => "middle", |
'lst' => "last", |
'lst' => "last", |
'gen' => "generation", |
'gen' => "generation", |
'id' => "ID/Student number", |
'id' => "Student/Employee ID", |
'mail' => "permanent e-mail", |
'mail' => "permanent e-mail", |
'disk' => "disk space allocated to portfolio files", |
'disk' => "disk space allocated to portfolio files", |
'prvs' => "Previous", |
'prvs' => "Previous", |
Line 2055 END
|
Line 2060 END
|
# They did not want to change the users name or quota but we can |
# They did not want to change the users name or quota but we can |
# still tell them what the name and quota are |
# still tell them what the name and quota are |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'id' => "ID/Student number", |
'id' => "Student/Employee ID", |
'mail' => "Permanent e-mail", |
'mail' => "Permanent e-mail", |
'disk' => "Disk space allocated to user's portfolio files", |
'disk' => "Disk space allocated to user's portfolio files", |
); |
); |
Line 2098 END
|
Line 2103 END
|
$r->print('<span class="LC_cusr_emph">'.$rolestr.'</span><br />'. |
$r->print('<span class="LC_cusr_emph">'.$rolestr.'</span><br />'. |
&mt('Contact your <a href="[_1]">helpdesk</a> for more information.',"javascript:helpMenu('display')").'<br />'); |
&mt('Contact your <a href="[_1]">helpdesk</a> for more information.',"javascript:helpMenu('display')").'<br />'); |
} |
} |
$r->print($no_forceid_alert. |
$r->print('<span class="LC_warning">' |
&Apache::lonuserutils::print_namespacing_alerts($env{'form.ccdomain'},\%alerts,\%curr_rules)); |
.$no_forceid_alert |
|
.&Apache::lonuserutils::print_namespacing_alerts($env{'form.ccdomain'},\%alerts,\%curr_rules) |
|
.'</span>'); |
} |
} |
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
&enroll_single_student($r,$uhome,$amode,$genpwd,$now,$newuser,$context); |
&enroll_single_student($r,$uhome,$amode,$genpwd,$now,$newuser,$context); |
Line 2600 sub custom_role_editor {
|
Line 2607 sub custom_role_editor {
|
my @template_roles = ("cc","in","ta","ep","st"); |
my @template_roles = ("cc","in","ta","ep","st"); |
foreach my $role (@template_roles) { |
foreach my $role (@template_roles) { |
$head_script .= &make_script_template($role); |
$head_script .= &make_script_template($role); |
$button_code .= &make_button_code($role); |
$button_code .= &make_button_code($role).' '; |
} |
} |
$head_script .= "\n".$jsback."\n".'</script>'."\n"; |
$head_script .= "\n".$jsback."\n".'</script>'."\n"; |
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
Line 2620 sub custom_role_editor {
|
Line 2627 sub custom_role_editor {
|
'crl' => "Course Level", |
'crl' => "Course Level", |
'dml' => "Domain Level", |
'dml' => "Domain Level", |
'ssl' => "System Level"); |
'ssl' => "System Level"); |
$r->print(&mt('Select a Template').'<br />'); |
|
$r->print('<form action="">'); |
$r->print('<div>' |
$r->print($button_code); |
.'<form action=""><fieldset>' |
$r->print('</form>'); |
.'<legend>'.&mt('Select a Template').'</legend>' |
|
.$button_code |
|
.'</fieldset></form>' |
|
.'</div>' |
|
); |
|
|
$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 2726 sub make_script_template {
|
Line 2738 sub make_script_template {
|
sub make_button_code { |
sub make_button_code { |
my ($role) = @_; |
my ($role) = @_; |
my $label = &Apache::lonnet::plaintext($role); |
my $label = &Apache::lonnet::plaintext($role); |
my $button_code = '<input type="button" onClick="set_'.$role.'()" value="'.$label.'" />'; |
my $button_code = '<input type="button" onClick="set_'.$role.'()" value="'.$label.'" />'; |
return ($button_code); |
return ($button_code); |
} |
} |
# ---------------------------------------------------------- Call to definerole |
# ---------------------------------------------------------- Call to definerole |
Line 3604 sub visible_in_cat {
|
Line 3616 sub visible_in_cat {
|
dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain', |
dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain', |
dc_addcat => 'Ask a domain coordinator to assign a category to the course.', |
dc_addcat => 'Ask a domain coordinator to assign a category to the course.', |
); |
); |
$visactions{'unhide'} = &mt('Use [_1]Set course environment[_2] to change the "Exclude from course catalog" setting.','<a href="/adm/parmset?action=crsenv">','</a>'); |
$visactions{'unhide'} = &mt('Use [_1]Set course environment[_2] to change the "Exclude from course catalog" setting.','"<a href="/adm/parmset?action=crsenv">','</a>"'); |
$visactions{'chgcat'} = &mt('Use [_1]Set course environment[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','<a href="/adm/parmset?action=crsenv">','</a>'); |
$visactions{'chgcat'} = &mt('Use [_1]Set course environment[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"<a href="/adm/parmset?action=crsenv">','</a>"'); |
$visactions{'addcat'} = &mt('Use [_1]Set course environment[_2] to assign a category to the course.','<a href="/adm/parmset?action=crsenv">','</a>'); |
$visactions{'addcat'} = &mt('Use [_1]Set course environment[_2] to assign a category to the course.','"<a href="/adm/parmset?action=crsenv">','</a>"'); |
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { |
if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { |
$settable{'togglecats'} = 1; |
$settable{'togglecats'} = 1; |
Line 3616 sub visible_in_cat {
|
Line 3628 sub visible_in_cat {
|
} |
} |
$cathash = $domconf{'coursecategories'}{'cats'}; |
$cathash = $domconf{'coursecategories'}{'cats'}; |
} |
} |
if ($settable{'togglecats'} && $settable{'categories'}) { |
if ($settable{'togglecats'} && $settable{'categorize'}) { |
$cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.'); |
$cansetvis = &mt('You are able to both assign a course category and choose to exclude this course from the catalog.'); |
} elsif ($settable{'togglecats'}) { |
} elsif ($settable{'togglecats'}) { |
$cansetvis = &mt('You are able to choose to exclude this course from the catalog, but only a Domain Coordinator may assign a course category.'); |
$cansetvis = &mt('You are able to choose to exclude this course from the catalog, but only a Domain Coordinator may assign a course category.'); |
} elsif ($settable{'categories'}) { |
} elsif ($settable{'categorize'}) { |
$cansetvis = &mt('You may assign a course category, but only a Domain Coordinator may choose to exclude this course from the catalog.'); |
$cansetvis = &mt('You may assign a course category, but only a Domain Coordinator may choose to exclude this course from the catalog.'); |
} else { |
} else { |
$cansetvis = &mt('Only a Domain Coordinator may assign a course category or choose to exclude this course from the catalog.'); |
$cansetvis = &mt('Only a Domain Coordinator may assign a course category or choose to exclude this course from the catalog.'); |
Line 3674 sub visible_in_cat {
|
Line 3686 sub visible_in_cat {
|
} |
} |
} |
} |
if (!$matched) { |
if (!$matched) { |
if ($settable{'categories'}) { |
if ($settable{'categorize'}) { |
push(@vismsgs,'chgcat'); |
push(@vismsgs,'chgcat'); |
} else { |
} else { |
push(@vismsgs,'dc_chgcat'); |
push(@vismsgs,'dc_chgcat'); |
Line 3687 sub visible_in_cat {
|
Line 3699 sub visible_in_cat {
|
if (ref($cathash) eq 'HASH') { |
if (ref($cathash) eq 'HASH') { |
if ((keys(%{$cathash}) > 1) || |
if ((keys(%{$cathash}) > 1) || |
(keys(%{$cathash}) == 1) && ($cathash->{'instcode::0'} eq '')) { |
(keys(%{$cathash}) == 1) && ($cathash->{'instcode::0'} eq '')) { |
if ($settable{'categories'}) { |
if ($settable{'categorize'}) { |
push(@vismsgs,'addcat'); |
push(@vismsgs,'addcat'); |
} else { |
} else { |
push(@vismsgs,'dc_addcat'); |
push(@vismsgs,'dc_addcat'); |