version 1.162, 2007/07/30 00:31:27
|
version 1.166, 2007/08/02 01:02:56
|
Line 204 sub print_username_entry_form {
|
Line 204 sub print_username_entry_form {
|
my ($jsback,$elements) = &crumb_utilities(); |
my ($jsback,$elements) = &crumb_utilities(); |
|
|
my $jscript = &Apache::loncommon::studentbrowser_javascript()."\n". |
my $jscript = &Apache::loncommon::studentbrowser_javascript()."\n". |
'<script type"text/javascript">'."\n". |
'<script type="text/javascript">'."\n". |
&Apache::lonhtmlcommon::set_form_elements($elements->{$formtoset}). |
&Apache::lonhtmlcommon::set_form_elements($elements->{$formtoset}). |
'</script>'."\n"; |
'</script>'."\n"; |
|
|
Line 216 sub print_username_entry_form {
|
Line 216 sub print_username_entry_form {
|
$jscript,{'add_entries' => \%loaditems,}); |
$jscript,{'add_entries' => \%loaditems,}); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.crtuser)", |
({href=>"javascript:backPage(document.crtuser)", |
text=>"User/custom role search", |
text=>"User modify/custom role", |
faq=>282,bug=>'Instructor Interface',}); |
faq=>282,bug=>'Instructor Interface',}); |
|
|
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('User Management'); |
my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('User Management'); |
Line 232 sub print_username_entry_form {
|
Line 232 sub print_username_entry_form {
|
'ecrp' => "Edit Custom Role Privileges", |
'ecrp' => "Edit Custom Role Privileges", |
'nr' => "Name of Role", |
'nr' => "Name of Role", |
'cre' => "Custom Role Editor", |
'cre' => "Custom Role Editor", |
|
'mod' => "to add/modify roles", |
); |
); |
my $help = &Apache::loncommon::help_open_menu(undef,undef,282,'Instructor Interface'); |
my $help = &Apache::loncommon::help_open_menu(undef,undef,282,'Instructor Interface'); |
my $helpsiur=&Apache::loncommon::help_open_topic('Course_Change_Privileges'); |
my $helpsiur=&Apache::loncommon::help_open_topic('Course_Change_Privileges'); |
Line 244 sub print_username_entry_form {
|
Line 245 sub print_username_entry_form {
|
$start_page |
$start_page |
$crumbs |
$crumbs |
<h2>$lt{siur}$helpsiur</h2> |
<h2>$lt{siur}$helpsiur</h2> |
<h3>$lt{'srch'} $sellink</h3> |
<h3>$lt{'srch'} $sellink $lt{'mod'}</h3> |
$response"); |
$response"); |
$r->print(&entry_form($defdom,$srch,$forcenewuser)); |
$r->print(&entry_form($defdom,$srch,$forcenewuser)); |
if (&Apache::lonnet::allowed('mcr','/')) { |
if (&Apache::lonnet::allowed('mcr','/')) { |
Line 328 $jsback
|
Line 329 $jsback
|
ENDSCRIPT |
ENDSCRIPT |
|
|
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'srch' => "User Search", |
'srch' => "User Search to add/modify roles of", |
'username' => "username", |
'username' => "username", |
'domain' => "domain", |
'domain' => "domain", |
'lastname' => "last name", |
'lastname' => "last name", |
Line 338 ENDSCRIPT
|
Line 339 ENDSCRIPT
|
$r->print(&Apache::loncommon::start_page('Create Users, Change User Privileges',$jscript)); |
$r->print(&Apache::loncommon::start_page('Create Users, Change User Privileges',$jscript)); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.usersrchform,'','')", |
({href=>"javascript:backPage(document.usersrchform,'','')", |
text=>"User/custom role search", |
text=>"User modify/custom role edit", |
faq=>282,bug=>'Instructor Interface',}, |
faq=>282,bug=>'Instructor Interface',}, |
{href=>"javascript:backPage(document.usersrchform,'get_user_info','select')", |
{href=>"javascript:backPage(document.usersrchform,'get_user_info','select')", |
text=>"Select User", |
text=>"Select User", |
Line 346 ENDSCRIPT
|
Line 347 ENDSCRIPT
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); |
$r->print("<b>$lt{'srch'}</b><br />"); |
$r->print("<b>$lt{'srch'}</b><br />"); |
$r->print(&entry_form($srch->{'srchdomain'},$srch)); |
$r->print(&entry_form($srch->{'srchdomain'},$srch)); |
$r->print('<h3>'.&mt('Select a user').'</h3>'); |
$r->print('<h3>'.&mt('Select a user to add/modify roles of').'</h3>'); |
$r->print('<form name="usersrchform" method="post">'. |
$r->print('<form name="usersrchform" method="post">'. |
&Apache::loncommon::start_data_table()."\n". |
&Apache::loncommon::start_data_table()."\n". |
&Apache::loncommon::start_data_table_header_row()."\n". |
&Apache::loncommon::start_data_table_header_row()."\n". |
Line 630 ENDSECCODE
|
Line 631 ENDSECCODE
|
$js,{'add_entries' => \%loaditem,}); |
$js,{'add_entries' => \%loaditem,}); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.cu)", |
({href=>"javascript:backPage(document.cu)", |
text=>"User/custom role search", |
text=>"User modify/custom role edit", |
faq=>282,bug=>'Instructor Interface',}); |
faq=>282,bug=>'Instructor Interface',}); |
|
|
if ($env{'form.phase'} eq 'userpicked') { |
if ($env{'form.phase'} eq 'userpicked') { |
Line 1230 sub update_user_data {
|
Line 1231 sub update_user_data {
|
$r->print(&Apache::loncommon::start_page($title,$jscript)); |
$r->print(&Apache::loncommon::start_page($title,$jscript)); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.userupdate)", |
({href=>"javascript:backPage(document.userupdate)", |
text=>"User/custom role search", |
text=>"User modify/custom role edit", |
faq=>282,bug=>'Instructor Interface',}); |
faq=>282,bug=>'Instructor Interface',}); |
if ($env{'form.prevphase'} eq 'userpicked') { |
if ($env{'form.prevphase'} eq 'userpicked') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
Line 1307 sub update_user_data {
|
Line 1308 sub update_user_data {
|
$r->print($error.&mt('Invalid login mode or password').$end); |
$r->print($error.&mt('Invalid login mode or password').$end); |
return; |
return; |
} |
} |
|
|
|
|
|
$r->print('<h2>'.&mt('User [_1] in domain [_2]', |
|
$env{'form.ccuname'}, $env{'form.ccdomain'}).'</h2>'); |
|
|
if ($env{'form.makeuser'}) { |
if ($env{'form.makeuser'}) { |
# Create a new user |
$r->print('<h3>'.&mt('Creating new account.').'</h3>'); |
my %lt=&Apache::lonlocal::texthash( |
|
'cru' => "Creating user", |
|
'id' => "in domain" |
|
); |
|
$r->print(<<ENDNEWUSERHEAD); |
|
<h3>$lt{'cru'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h3> |
|
ENDNEWUSERHEAD |
|
# Check for the authentication mode and password |
# Check for the authentication mode and password |
if (! $amode || ! $genpwd) { |
if (! $amode || ! $genpwd) { |
$r->print($error.&mt('Invalid login mode or password').$end); |
$r->print($error.&mt('Invalid login mode or password').$end); |
Line 1348 ENDNEWUSERHEAD
|
Line 1347 ENDNEWUSERHEAD
|
} elsif (($env{'form.login'} ne 'nochange') && |
} elsif (($env{'form.login'} ne 'nochange') && |
($env{'form.login'} ne '' )) { |
($env{'form.login'} ne '' )) { |
# Modify user privileges |
# Modify user privileges |
my %lt=&Apache::lonlocal::texthash( |
|
'usr' => "User", |
|
'id' => "in domain" |
|
); |
|
$r->print(<<ENDMODIFYUSERHEAD); |
|
<h2>$lt{'usr'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h2> |
|
ENDMODIFYUSERHEAD |
|
if (! $amode || ! $genpwd) { |
if (! $amode || ! $genpwd) { |
$r->print($error.'Invalid login mode or password'.$end); |
$r->print($error.'Invalid login mode or password'.$end); |
return; |
return; |
Line 1518 END
|
Line 1510 END
|
# They did not want to change the users name but we can |
# They did not want to change the users name but we can |
# still tell them what the name is |
# still tell them what the name is |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'usr' => "User", |
|
'id' => "in domain", |
|
'gen' => "Generation", |
|
'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", |
); |
); |
$r->print(<<"END"); |
$r->print(<<"END"); |
<h2>$lt{'usr'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h2> |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} $userenv{'generation'}</h4> |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} </h4> |
|
<h4>$lt{'gen'}: $userenv{'generation'}</h4> |
|
<h4>$lt{'mail'}: $userenv{'permanentemail'}</h4> |
<h4>$lt{'mail'}: $userenv{'permanentemail'}</h4> |
END |
END |
if ($putresult eq 'ok') { |
if ($putresult eq 'ok') { |
Line 1755 END
|
Line 1742 END
|
} # End of foreach (keys(%env)) |
} # End of foreach (keys(%env)) |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
&Apache::lonnet::flushcourselogs(); |
&Apache::lonnet::flushcourselogs(); |
$r->print('<p><a href="/adm/createuser">Create/Modify Another User</a></p>'); |
$r->print('<p><a href="/adm/createuser">'.&mt('Create/Modify Another User').'</a></p>'); |
$r->print('<form name="userupdate" method="post" />'."\n"); |
$r->print('<form name="userupdate" method="post" />'."\n"); |
foreach my $item ('srchby','srchin','srchtype','srchterm','srchdomain','ccuname','ccdomain') { |
foreach my $item ('srchby','srchin','srchtype','srchterm','srchdomain','ccuname','ccdomain') { |
$r->print('<input type="hidden" name="'.$item.'" value="'.$env{'form.'.$item}.'" />'."\n"); |
$r->print('<input type="hidden" name="'.$item.'" value="'.$env{'form.'.$item}.'" />'."\n"); |
Line 1897 sub custom_role_editor {
|
Line 1884 sub custom_role_editor {
|
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
$r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.form1,'','')", |
({href=>"javascript:backPage(document.form1,'','')", |
text=>"User/custom role search", |
text=>"User modify/custom role edit", |
faq=>282,bug=>'Instructor Interface',}, |
faq=>282,bug=>'Instructor Interface',}, |
{href=>"javascript:backPage(document.form1,'','')", |
{href=>"javascript:backPage(document.form1,'','')", |
text=>"Edit custom role", |
text=>"Edit custom role", |
Line 2037 sub set_custom_role {
|
Line 2024 sub set_custom_role {
|
$r->print(&Apache::loncommon::start_page('Save Custom Role'),$jscript); |
$r->print(&Apache::loncommon::start_page('Save Custom Role'),$jscript); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.customresult,'','')", |
({href=>"javascript:backPage(document.customresult,'','')", |
text=>"User/custom role search", |
text=>"User modify/custom role edit", |
faq=>282,bug=>'Instructor Interface',}, |
faq=>282,bug=>'Instructor Interface',}, |
{href=>"javascript:backPage(document.customresult,'selected_custom_edit','')", |
{href=>"javascript:backPage(document.customresult,'selected_custom_edit','')", |
text=>"Edit custom role", |
text=>"Edit custom role", |
Line 2136 sub handler {
|
Line 2123 sub handler {
|
if ($env{'form.phase'} eq 'get_user_info') { |
if ($env{'form.phase'} eq 'get_user_info') { |
my ($state,$response,$forcenewuser,$results) = |
my ($state,$response,$forcenewuser,$results) = |
&user_search_result($srch); |
&user_search_result($srch); |
print STDERR "Got $state,$response,$forcenewuser\n"; |
|
if ($state eq 'select') { |
if ($state eq 'select') { |
&print_user_selection_page($r,$response,$srch,$results); |
&print_user_selection_page($r,$response,$srch,$results); |
} elsif ($state eq 'modify') { |
} elsif ($state eq 'modify') { |
Line 2183 sub handler {
|
Line 2169 sub handler {
|
#-------------------------------------------------- functions for &phase_two |
#-------------------------------------------------- functions for &phase_two |
sub user_search_result { |
sub user_search_result { |
my ($srch) = @_; |
my ($srch) = @_; |
my @alldomains = sort(&Apache::lonnet::all_domains()); |
|
my %allhomes; |
my %allhomes; |
my %inst_matches; |
my %inst_matches; |
my %srch_results; |
my %srch_results; |
Line 2203 sub user_search_result {
|
Line 2188 sub user_search_result {
|
} |
} |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'instd')) { |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'instd')) { |
if (($srch->{'srchdomain'} eq '') || |
if (($srch->{'srchdomain'} eq '') || |
(!(grep/^\Q$srch->{'srchdomain'}\E$/,@alldomains))) { |
! (&Apache::lonnet::domain($srch->{'srchdomain'}))) { |
$response = &mt('You must specify a valid domain when searching in a domain or institutional directory.') |
$response = &mt('You must specify a valid domain when searching in a domain or institutional directory.') |
} |
} |
} |
} |
Line 2220 sub user_search_result {
|
Line 2205 sub user_search_result {
|
} |
} |
} |
} |
if ($response ne '') { |
if ($response ne '') { |
return ($state,$response); |
return ($state,'<span class="LC_warning">'.$response.'</span>'); |
} |
} |
if ($srch->{'srchby'} eq 'uname') { |
if ($srch->{'srchby'} eq 'uname') { |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'crs')) { |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'crs')) { |
Line 2345 sub directorysrch_check {
|
Line 2330 sub directorysrch_check {
|
['directorysrch'],$srch->{'srchdomain'}); |
['directorysrch'],$srch->{'srchdomain'}); |
if (ref($dom_inst_srch{'directorysrch'}) eq 'HASH') { |
if (ref($dom_inst_srch{'directorysrch'}) eq 'HASH') { |
if (!$dom_inst_srch{'directorysrch'}{'available'}) { |
if (!$dom_inst_srch{'directorysrch'}{'available'}) { |
return &mt('Directory search unavailable in domain: [_1]',$srch->{'srchdomain'}); |
return &mt('Institutional directory search unavailable in domain: [_1]',$srch->{'srchdomain'}); |
} |
} |
if ($dom_inst_srch{'directorysrch'}{'localonly'}) { |
if ($dom_inst_srch{'directorysrch'}{'localonly'}) { |
if ($env{'request.role.domain'} ne $srch->{'srchdomain'}) { |
if ($env{'request.role.domain'} ne $srch->{'srchdomain'}) { |
return &mt('Directory search in domain: [_1] is only allowed for users with a current role in the domain.',$srch->{'srchdomain'}); |
return &mt('Insitutional directory search in domain: [_1] is only allowed for users with a current role in the domain.',$srch->{'srchdomain'}); |
} |
} |
my @usertypes = split(/:/,$env{'environment.inststatus'}); |
my @usertypes = split(/:/,$env{'environment.inststatus'}); |
if (!@usertypes) { |
if (!@usertypes) { |
Line 2445 sub build_search_response {
|
Line 2430 sub build_search_response {
|
$state = 'modify'; |
$state = 'modify'; |
$response = &mt("$single{$srch->{'srchtype'}} was found for this $names{$srch->{'srchby'}} ([_1]) in $names{$srch->{'srchin'}}.",$srch->{'srchterm'}); |
$response = &mt("$single{$srch->{'srchtype'}} was found for this $names{$srch->{'srchby'}} ([_1]) in $names{$srch->{'srchin'}}.",$srch->{'srchterm'}); |
} else { |
} else { |
$response = &mt("$nomatch{$srch->{'srchtype'}} found for this $names{$srch->{'srchby'}} ([_1]) in $names{$srch->{'srchin'}}.",$srch->{'srchterm'}); |
$response = '<span class="LC_warning">'.&mt("$nomatch{$srch->{'srchtype'}} found for this $names{$srch->{'srchby'}} ([_1]) in $names{$srch->{'srchin'}}.",$srch->{'srchterm'}).'</span>'; |
if ($srch->{'srchin'} ne 'alc') { |
if ($srch->{'srchin'} ne 'alc') { |
$forcenewuser = 1; |
$forcenewuser = 1; |
my $cansrchinst = 0; |
my $cansrchinst = 0; |
Line 2467 sub build_search_response {
|
Line 2452 sub build_search_response {
|
} |
} |
} |
} |
} |
} |
$response .= '<br />'.&mt("To add as a new user:").'<ul><li>'.&mt("Enter the proposed username in the <i>'Search for'</i> box").'</li><li>'.&mt("Set <i>'Make new user if no match found</i>' to <b>Yes</b>").'</li><li>'.&mt("Click <i>'Search'</i>").'</li></ul>'.&mt("Note: you can only create new users in the domain of your current role -".$env{'request.role.domain'}).'<br /><br />'; |
$response .= '<br />'.&mt("To add as a new user:").'<ul><li>'.&mt("Enter the proposed username in the <i>'Search for'</i> box").'</li><li>'.&mt("Set <i>'Make new user if no match found</i>' to <b>Yes</b>").'</li><li>'.&mt("Click <i>'Search'</i>").'</li></ul>'.&mt("Note: you can only create new users in the domain of your current role - [_1]",$env{'request.role.domain'}).'<br /><br />'; |
} |
} |
} |
} |
} |
} |