version 1.160, 2007/07/28 21:38:29
|
version 1.176, 2007/08/25 17:46:24
|
Line 200 sub print_username_entry_form {
|
Line 200 sub print_username_entry_form {
|
$formtoset = 'docustom'; |
$formtoset = 'docustom'; |
$env{'form.rolename'} = $env{'form.startrolename'}; |
$env{'form.rolename'} = $env{'form.startrolename'}; |
} |
} |
my ($newuserscript,$newuservalidate); |
|
|
|
if ($forcenewuser) { |
|
$newuserscript = <<"ENDSCRIPT"; |
|
|
|
function setSearch() { |
|
var createnew = 0; |
|
for (var i=0; i<document.crtuser.forcenew.length; i++) { |
|
if (document.crtuser.forcenew[i].checked) { |
|
if (document.crtuser.forcenew[i].value == 1) { |
|
createnew = 1; |
|
} |
|
} |
|
} |
|
if (createnew == 1) { |
|
for (var i=0; i<document.crtuser.srchby.length; i++) { |
|
if (document.crtuser.srchby.options[i].value == 'uname') { |
|
document.crtuser.srchby.selectedIndex = i; |
|
} |
|
} |
|
for (var i=0; i<document.crtuser.srchin.length; i++) { |
|
if (document.crtuser.srchin.options[i].value == 'dom') { |
|
document.crtuser.srchin.selectedIndex = i; |
|
} |
|
} |
|
for (var i=0; i<document.crtuser.srchtype.length; i++) { |
|
if (document.crtuser.srchtype.options[i].value == 'exact') { |
|
document.crtuser.srchtype.selectedIndex = i; |
|
} |
|
} |
|
for (var i=0; i<document.crtuser.srchdomain.length; i++) { |
|
if (document.crtuser.srchdomain.options[i].value == '$env{'request.role.domain'}') { |
|
document.crtuser.srchdomain.selectedIndex = i; |
|
} |
|
} |
|
} |
|
} |
|
ENDSCRIPT |
|
$newuservalidate = <<"ENDBLOCK"; |
|
setSearch(); |
|
ENDBLOCK |
|
} |
|
my $validatescript = <<"ENDSCRIPT"; |
|
|
|
function validateEntry() { |
|
var checkok = 1; |
|
var srchin = document.crtuser.srchin.options[document.crtuser.srchin.selectedIndex].value; |
|
var srchtype = document.crtuser.srchtype.options[document.crtuser.srchtype.selectedIndex].value; |
|
var srchby = document.crtuser.srchby.options[document.crtuser.srchby.selectedIndex].value; |
|
var srchdomain = document.crtuser.srchdomain.options[document.crtuser.srchdomain.selectedIndex].value; |
|
var srchterm = document.crtuser.srchterm.value; |
|
var msg = ""; |
|
|
|
if (srchterm == "") { |
|
checkok = 0; |
|
msg += "You must include some text to search for.\\n"; |
|
} |
|
|
|
$newuservalidate |
|
|
|
if (srchtype== 'contains') { |
|
if (srchterm.length < 3) { |
|
checkok = 0; |
|
msg += "The text you are searching for must contain at least three characters when using a 'contained in' type search.\\n"; |
|
} |
|
} |
|
if (srchin == 'instd') { |
|
if (srchdomain == '') { |
|
checkok = 0; |
|
msg += "You must choose a domain when using an institutional directory search.\\n"; |
|
} |
|
} |
|
if (srchin == 'dom') { |
|
if (srchdomain == '') { |
|
checkok = 0; |
|
msg += "You must choose a domain when using a domain search.\\n"; |
|
} |
|
} |
|
if (srchby == 'lastfirst') { |
|
if (srchterm.indexOf(",") == -1) { |
|
checkok = 0; |
|
msg += "When using searching by last,first you must include a comma as separator between last name and first name.\\n"; |
|
} |
|
if (srchterm.indexOf(",") == srchterm.length -1) { |
|
checkok = 0; |
|
msg += "When searching by last,first you must include at least one character in the first name.\\n"; |
|
} |
|
} |
|
if (checkok == 0) { |
|
alert("The following need to be corrected before the search can be run:\\n"+msg); |
|
return; |
|
} |
|
if (checkok == 1) { |
|
document.crtuser.submit(); |
|
} |
|
} |
|
|
|
ENDSCRIPT |
|
|
|
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}). |
$newuserscript.$validatescript.'</script>'."\n"; |
'</script>'."\n"; |
|
|
my %loaditems = ( |
my %loaditems = ( |
'onload' => "javascript:setFormElements(document.$formtoset)", |
'onload' => "javascript:setFormElements(document.$formtoset)", |
Line 314 ENDSCRIPT
|
Line 216 ENDSCRIPT
|
$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 edit", |
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 330 ENDSCRIPT
|
Line 232 ENDSCRIPT
|
'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 342 ENDSCRIPT
|
Line 245 ENDSCRIPT
|
$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 426 $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", |
'username' => "username", |
'username' => "username", |
'domain' => "domain", |
'domain' => "domain", |
'lastname' => "last name", |
'lastname' => "last name", |
Line 436 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 444 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').'</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 457 ENDSCRIPT
|
Line 360 ENDSCRIPT
|
$r->print(&Apache::loncommon::end_data_table_header_row()); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
|
|
my @sorted_users = sort { |
my @sorted_users = sort { |
lc($srch_results->{$a}->{$sortby}) cmp lc($srch_results->{$b}->{$sortby}) |
lc($srch_results->{$a}->{$sortby}) cmp lc($srch_results->{$b}->{$sortby}) |
|| |
|| |
lc($srch_results->{$a}->{lastname}) cmp lc($srch_results->{$b}->{lastname}) |
lc($srch_results->{$a}->{lastname}) cmp lc($srch_results->{$b}->{lastname}) |
|| |
|| |
lc($srch_results->{$a}->{firstname}) cmp lc($srch_results->{$b}->{firstname}) |
lc($srch_results->{$a}->{firstname}) cmp lc($srch_results->{$b}->{firstname}) |
|
|| |
|
lc($a) cmp lc($b) |
} (keys(%$srch_results)); |
} (keys(%$srch_results)); |
|
|
foreach my $user (@sorted_users) { |
foreach my $user (@sorted_users) { |
Line 516 sub print_user_modification_page {
|
Line 421 sub print_user_modification_page {
|
$loginscript = &Apache::loncommon::authform_header(%param); |
$loginscript = &Apache::loncommon::authform_header(%param); |
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
|
|
$ccuname =&LONCAPA::clean_username($ccuname); |
|
$ccdomain=&LONCAPA::clean_domain($ccdomain); |
|
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $dc_setcourse_code = ''; |
my $dc_setcourse_code = ''; |
my $nondc_setsection_code = ''; |
my $nondc_setsection_code = ''; |
Line 730 ENDSECCODE
|
Line 633 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 762 ENDFORMINFO
|
Line 665 ENDFORMINFO
|
} |
} |
} |
} |
if ($uhome eq 'no_host') { |
if ($uhome eq 'no_host') { |
my $instsrch = { |
my $newuser; |
|
my $instsrch = { |
srchin => 'instd', |
srchin => 'instd', |
srchterm => $env{'form.seluname'}, |
|
srchdomain => $env{'form.seludom'}, |
|
srchby => 'uname', |
srchby => 'uname', |
srchtype => 'exact', |
srchtype => 'exact', |
}; |
}; |
my %inst_results; |
if ($env{'form.phase'} eq 'userpicked') { |
if (directorysrch_check($instsrch) eq 'ok') { |
$instsrch->{'srchterm'} = $env{'form.seluname'}; |
%inst_results = &Apache::lonnet::inst_directory_query($instsrch); |
$instsrch->{'srchdomain'} = $env{'form.seludom'}; |
|
} else { |
|
$instsrch->{'srchterm'} = $ccuname; |
|
$instsrch->{'srchdomain'} = $ccdomain, |
|
} |
|
if (($instsrch->{'srchterm'} ne '') && ($instsrch->{'srchdomain'} ne '')) { |
|
$newuser = $instsrch->{'srchterm'}.':'.$instsrch->{'srchdomain'}; |
|
} |
|
my (%dirsrch_results,%inst_results); |
|
if ($newuser) { |
|
if (&directorysrch_check($instsrch) eq 'ok') { |
|
%dirsrch_results = &Apache::lonnet::inst_directory_query($instsrch); |
|
if (ref($dirsrch_results{$newuser}) eq 'HASH') { |
|
%inst_results = %{$dirsrch_results{$newuser}}; |
|
} |
|
} |
} |
} |
my $home_server_list= |
my $home_server_list= |
'<option value="default" selected>default</option>'."\n". |
'<option value="default" selected>default</option>'."\n". |
Line 866 ENDCHANGEUSER
|
Line 783 ENDCHANGEUSER
|
'<th>'.$lt{'fn'}.'</th><th>'.$lt{'mn'}.'</th><th>'.$lt{'ln'}.'</th><th>'.$lt{'gen'}.'</th><th>'.$lt{'email'}.'</th>'. |
'<th>'.$lt{'fn'}.'</th><th>'.$lt{'mn'}.'</th><th>'.$lt{'ln'}.'</th><th>'.$lt{'gen'}.'</th><th>'.$lt{'email'}.'</th>'. |
&Apache::loncommon::end_data_table_header_row(). |
&Apache::loncommon::end_data_table_header_row(). |
&Apache::loncommon::start_data_table_row()); |
&Apache::loncommon::start_data_table_row()); |
foreach my $item ('firstname','middlename','lastname','generation','permenanentemail') { |
foreach my $item ('firstname','middlename','lastname','generation','permanentemail') { |
if (&Apache::lonnet::allowed('mau',$ccdomain)) { |
if (&Apache::lonnet::allowed('mau',$ccdomain)) { |
$r->print(<<"END"); |
$r->print(<<"END"); |
<td><input type="text" name="c$item" value="$userenv{$item}" size="15" /></td> |
<td><input type="text" name="c$item" value="$userenv{$item}" size="15" /></td> |
Line 1219 ENDNOPRIV
|
Line 1136 ENDNOPRIV
|
<td><input type="hidden" name="start_'.$cudom.'_'.$cuname.'_ca" value="" /> |
<td><input type="hidden" name="start_'.$cudom.'_'.$cuname.'_ca" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_start','Start Date Co-Author',document.cu.start_$cudom\_$cuname\_ca.value,'start_$cudom\_$cuname\_ca','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
"javascript:pjump('."'date_start','Start Date Co-Author',document.cu.start_$cudom\_$cuname\_ca.value,'start_$cudom\_$cuname\_ca','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
<td><input type=hidden name="end_'.$cudom.'_'.$cuname.'_ca" value="" /> |
<td><input type="hidden" name="end_'.$cudom.'_'.$cuname.'_ca" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'."\n". |
"javascript:pjump('."'date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'."\n". |
&Apache::loncommon::end_data_table_row()."\n". |
&Apache::loncommon::end_data_table_row()."\n". |
Line 1227 ENDNOPRIV
|
Line 1144 ENDNOPRIV
|
'<td><input type=checkbox name="act_'.$cudom.'_'.$cuname.'_aa" /></td> |
'<td><input type=checkbox name="act_'.$cudom.'_'.$cuname.'_aa" /></td> |
<td>'.$lt{'caa'}.'</td> |
<td>'.$lt{'caa'}.'</td> |
<td>'.$cudom.'_'.$cuname.'</td> |
<td>'.$cudom.'_'.$cuname.'</td> |
<td><input type=hidden name="start_'.$cudom.'_'.$cuname.'_aa" value="" /> |
<td><input type="hidden" name="start_'.$cudom.'_'.$cuname.'_aa" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_start','Start Date Assistant Co-Author',document.cu.start_$cudom\_$cuname\_aa.value,'start_$cudom\_$cuname\_aa','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
"javascript:pjump('."'date_start','Start Date Assistant Co-Author',document.cu.start_$cudom\_$cuname\_aa.value,'start_$cudom\_$cuname\_aa','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
<td><input type=hidden name="end_'.$cudom.'_'.$cuname.'_aa" value="" /> |
<td><input type="hidden" name="end_'.$cudom.'_'.$cuname.'_aa" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_end','End Date Assistant Co-Author',document.cu.end_$cudom\_$cuname\_aa.value,'end_$cudom\_$cuname\_aa','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'."\n". |
"javascript:pjump('."'date_end','End Date Assistant Co-Author',document.cu.end_$cudom\_$cuname\_aa.value,'end_$cudom\_$cuname\_aa','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'."\n". |
&Apache::loncommon::end_data_table_row()."\n". |
&Apache::loncommon::end_data_table_row()."\n". |
Line 1262 ENDNOPRIV
|
Line 1179 ENDNOPRIV
|
'<td><input type=checkbox name="act_'.$thisdomain.'_'.$role.'" /></td> |
'<td><input type=checkbox name="act_'.$thisdomain.'_'.$role.'" /></td> |
<td>'.$plrole.'</td> |
<td>'.$plrole.'</td> |
<td>'.$thisdomain.'</td> |
<td>'.$thisdomain.'</td> |
<td><input type=hidden name="start_'.$thisdomain.'_'.$role.'" value="" /> |
<td><input type="hidden" name="start_'.$thisdomain.'_'.$role.'" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_start','Start Date $plrole',document.cu.start_$thisdomain\_$role.value,'start_$thisdomain\_$role','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
"javascript:pjump('."'date_start','Start Date $plrole',document.cu.start_$thisdomain\_$role.value,'start_$thisdomain\_$role','cu.pres','dateset'".')">'.$lt{'ssd'}.'</a></td> |
<td><input type=hidden name="end_'.$thisdomain.'_'.$role.'" value="" /> |
<td><input type="hidden" name="end_'.$thisdomain.'_'.$role.'" value="" /> |
<a href= |
<a href= |
"javascript:pjump('."'date_end','End Date $plrole',document.cu.end_$thisdomain\_$role.value,'end_$thisdomain\_$role','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'. |
"javascript:pjump('."'date_end','End Date $plrole',document.cu.end_$thisdomain\_$role.value,'end_$thisdomain\_$role','cu.pres','dateset'".')">'.$lt{'sed'}.'</a></td>'. |
&Apache::loncommon::end_data_table_row(); |
&Apache::loncommon::end_data_table_row(); |
Line 1316 sub update_user_data {
|
Line 1233 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 1393 sub update_user_data {
|
Line 1310 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 1434 ENDNEWUSERHEAD
|
Line 1349 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 1538 ENDMODIFYUSERHEAD
|
Line 1446 ENDMODIFYUSERHEAD
|
$changeHash{'middlename'} = $env{'form.cmiddlename'}; |
$changeHash{'middlename'} = $env{'form.cmiddlename'}; |
$changeHash{'lastname'} = $env{'form.clastname'}; |
$changeHash{'lastname'} = $env{'form.clastname'}; |
$changeHash{'generation'} = $env{'form.cgeneration'}; |
$changeHash{'generation'} = $env{'form.cgeneration'}; |
$changeHash{'permanentemail'} = $env{'form.permanentemail'}; |
$changeHash{'permanentemail'} = $env{'form.cpermanentemail'}; |
my $putresult = &Apache::lonnet::put |
my $putresult = &Apache::lonnet::put |
('environment',\%changeHash, |
('environment',\%changeHash, |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
Line 1563 ENDMODIFYUSERHEAD
|
Line 1471 ENDMODIFYUSERHEAD
|
<th>$lt{'mddl'}</th> |
<th>$lt{'mddl'}</th> |
<th>$lt{'lst'}</th> |
<th>$lt{'lst'}</th> |
<th>$lt{'gen'}</th> |
<th>$lt{'gen'}</th> |
<th>$lt{'disk'}<th></tr> |
<th>$lt{'mail'}</th> |
|
<th>$lt{'disk'}</th></tr> |
<tr><td>$lt{'prvs'}</td> |
<tr><td>$lt{'prvs'}</td> |
<td>$userenv{'firstname'} </td> |
<td>$userenv{'firstname'} </td> |
<td>$userenv{'middlename'} </td> |
<td>$userenv{'middlename'} </td> |
Line 1604 END
|
Line 1513 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 1634 END
|
Line 1538 END
|
if ($key=~/^form\.rev/) { |
if ($key=~/^form\.rev/) { |
if ($key=~/^form\.rev\:([^\_]+)\_([^\_\.]+)$/) { |
if ($key=~/^form\.rev\:([^\_]+)\_([^\_\.]+)$/) { |
# Revoke standard role |
# Revoke standard role |
$r->print(&mt('Revoking').' '.$2.' in '.$1.': <b>'. |
my ($scope,$role) = ($1,$2); |
&Apache::lonnet::revokerole($env{'form.ccdomain'}, |
my $result = |
$env{'form.ccuname'},$1,$2).'</b><br />'); |
&Apache::lonnet::revokerole($env{'form.ccdomain'}, |
if ($2 eq 'st') { |
$env{'form.ccuname'}, |
$1=~m{^/($match_domain)/($match_courseid)}; |
$scope,$role); |
my $cid=$1.'_'.$2; |
$r->print(&mt('Revoking [_1] in [_2]: [_3]', |
my $user = $env{'form.ccuname'}.':'.$env{'form.ccdomain'}; |
$role,$scope,'<b>'.$result.'</b>').'<br />'); |
my $result = |
if ($role eq 'st') { |
&Apache::lonnet::cput('classlist', |
my $result = &classlist_drop($scope,$env{'form.ccuname'}, |
{ $user => $now }, |
$env{'form.ccdomain'},$now); |
$env{'course.'.$cid.'.domain'}, |
$r->print($result); |
$env{'course.'.$cid.'.num'}); |
|
$r->print(&mt('Drop from classlist: [_1]', |
|
'<b>'.$result.'</b>').'<br />'); |
|
} |
} |
} |
} |
if ($key=~m{^form\.rev\:([^_]+)_cr\.cr/($match_domain)/($match_username)/(\w+)$}) { |
if ($key=~m{^form\.rev\:([^_]+)_cr\.cr/($match_domain)/($match_username)/(\w+)$ }s) { |
# Revoke custom role |
# Revoke custom role |
$r->print(&mt('Revoking custom role:'). |
$r->print(&mt('Revoking custom role:'). |
' '.$4.' by '.$3.':'.$2.' in '.$1.': <b>'. |
' '.$4.' by '.$3.':'.$2.' in '.$1.': <b>'. |
Line 1661 END
|
Line 1562 END
|
} elsif ($key=~/^form\.del/) { |
} elsif ($key=~/^form\.del/) { |
if ($key=~/^form\.del\:([^\_]+)\_([^\_\.]+)$/) { |
if ($key=~/^form\.del\:([^\_]+)\_([^\_\.]+)$/) { |
# Delete standard role |
# Delete standard role |
$r->print(&mt('Deleting').' '.$2.' in '.$1.': '. |
my ($scope,$role) = ($1,$2); |
&Apache::lonnet::assignrole($env{'form.ccdomain'}, |
my $result = |
$env{'form.ccuname'},$1,$2,$now,0,1).'<br />'); |
&Apache::lonnet::assignrole($env{'form.ccdomain'}, |
if ($2 eq 'st') { |
$env{'form.ccuname'}, |
$1=~m{^/($match_domain)/($match_courseid)}; |
$scope,$role,$now,0,1); |
my $cid=$1.'_'.$2; |
$r->print(&mt('Deleting [_1] in [_2]: [_3]',$role,$scope, |
my $user = $env{'form.ccuname'}.':'.$env{'form.ccdomain'}; |
'<b>'.$result.'</b>').'<br />'); |
my $result = |
if ($role eq 'st') { |
&Apache::lonnet::cput('classlist', |
my $result = &classlist_drop($scope,$env{'form.ccuname'}, |
{ $user => $now }, |
$env{'form.ccdomain'},$now); |
$env{'course.'.$cid.'.domain'}, |
$r->print($result); |
$env{'course.'.$cid.'.num'}); |
|
$r->print(&mt('Drop from classlist: [_1]', |
|
'<b>'.$result.'</b>').'<br />'); |
|
} |
} |
} |
} |
if ($key=~m{^form\.del\:([^_]+)_cr\.cr/($match_domain)/($match_username)/(\w+)$}) { |
if ($key=~m{^form\.del\:([^_]+)_cr\.cr/($match_domain)/($match_username)/(\w+)$}) { |
my ($url,$rdom,$rnam,$rolename) = ($1,$2,$3,$4); |
my ($url,$rdom,$rnam,$rolename) = ($1,$2,$3,$4); |
# Delete custom role |
# Delete custom role |
$r->print(&mt('Deleting custom role [_1] by [_2]@[_3] in [_4]', |
$r->print(&mt('Deleting custom role [_1] by [_2]:[_3] in [_4]', |
$rolename,$rnam,$rdom,$url).': <b>'. |
$rolename,$rnam,$rdom,$url).': <b>'. |
&Apache::lonnet::assigncustomrole($env{'form.ccdomain'}, |
&Apache::lonnet::assigncustomrole($env{'form.ccdomain'}, |
$env{'form.ccuname'},$url,$rdom,$rnam,$rolename,$now, |
$env{'form.ccuname'},$url,$rdom,$rnam,$rolename,$now, |
Line 1841 END
|
Line 1739 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 1857 END
|
Line 1755 END
|
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
} |
} |
|
|
|
sub classlist_drop { |
|
my ($scope,$uname,$udom,$now) = @_; |
|
my ($cdom,$cnum) = ($scope=~m{^/($match_domain)/($match_courseid)}); |
|
my $cid=$cdom.'_'.$cnum; |
|
my $user = $uname.':'.$udom; |
|
if (!&active_student_roles($cnum,$cdom,$uname,$udom)) { |
|
my $result = |
|
&Apache::lonnet::cput('classlist', |
|
{ $user => $now }, |
|
$env{'course.'.$cid.'.domain'}, |
|
$env{'course.'.$cid.'.num'}); |
|
return &mt('Drop from classlist: [_1]', |
|
'<b>'.$result.'</b>').'<br />'; |
|
} |
|
} |
|
|
|
sub active_student_roles { |
|
my ($cnum,$cdom,$uname,$udom) = @_; |
|
my %roles = |
|
&Apache::lonnet::get_my_roles($uname,$udom,'userroles', |
|
['future','active'],['st']); |
|
return exists($roles{"$cnum:$cdom:st"}); |
|
} |
|
|
sub quota_admin { |
sub quota_admin { |
my ($setquota,$changeHash) = @_; |
my ($setquota,$changeHash) = @_; |
my $quotachanged; |
my $quotachanged; |
Line 1983 sub custom_role_editor {
|
Line 1905 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 2123 sub set_custom_role {
|
Line 2045 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 2226 sub handler {
|
Line 2148 sub handler {
|
&print_user_selection_page($r,$response,$srch,$results); |
&print_user_selection_page($r,$response,$srch,$results); |
} elsif ($state eq 'modify') { |
} elsif ($state eq 'modify') { |
my ($ccuname,$ccdomain); |
my ($ccuname,$ccdomain); |
if ($srch->{'srchby'} eq 'uname') { |
if (($srch->{'srchby'} eq 'uname') && |
|
($srch->{'srchtype'} eq 'exact')) { |
$ccuname = $srch->{'srchterm'}; |
$ccuname = $srch->{'srchterm'}; |
$ccdomain= $srch->{'srchdomain'}; |
$ccdomain= $srch->{'srchdomain'}; |
} else { |
} else { |
Line 2267 sub handler {
|
Line 2190 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; |
my ($response,$state,$forcenewuser); |
my ($response,$state,$forcenewuser); |
|
$srch->{'srchterm'} =~ s/^\s+//; |
|
$srch->{'srchterm'} =~ s/\s+$//; |
|
|
if ($srch->{'srchby'} !~ /^(uname|lastname|lastfirst)$/) { |
if ($srch->{'srchby'} !~ /^(uname|lastname|lastfirst)$/) { |
$response = &mt('Invalid search.'); |
$response = &mt('Invalid search.'); |
} |
} |
if ($srch->{'srchin'} !~ /^(crs|dom|alc|instd)$/) { |
if ($srch->{'srchin'} !~ /^(crs|dom|alc|instd)$/) { |
Line 2287 sub user_search_result {
|
Line 2211 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.') |
} |
} |
} |
} |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'crs') || |
if (($srch->{'srchin'} eq 'dom') || ($srch->{'srchin'} eq 'crs') || |
($srch->{'srchin'} eq 'alc')) { |
($srch->{'srchin'} eq 'alc')) { |
if ($srch->{'srchterm'} !~ /^$match_username$/) { |
if ($srch->{'srchby'} eq 'uname') { |
$response = &mt('You must specify a valid username. Only the following are allowed: letters numbers - . @'); |
if ($srch->{'srchterm'} !~ /^$match_username$/) { |
|
$response = &mt('You must specify a valid username. Only the following are allowed: letters numbers - . @'); |
|
} |
} |
} |
} |
} |
if ($srch->{'srchin'} eq 'instd') { |
if ($srch->{'srchin'} eq 'instd') { |
Line 2304 sub user_search_result {
|
Line 2230 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 2322 sub user_search_result {
|
Line 2248 sub user_search_result {
|
} |
} |
} else { |
} else { |
if ($srch->{'srchin'} eq 'dom') { |
if ($srch->{'srchin'} eq 'dom') { |
my $uhome=&Apache::lonnet::homeserver($srch->{'srchterm'},$srch->{'srchdomain'}); |
if ($srch->{'srchtype'} eq 'exact') { |
if ($uhome eq 'no_host') { |
my $uhome=&Apache::lonnet::homeserver($srch->{'srchterm'},$srch->{'srchdomain'}); |
|
if ($uhome eq 'no_host') { |
|
($state,$response,$forcenewuser) = |
|
&build_search_response($srch,%srch_results); |
|
} else { |
|
$state = 'modify'; |
|
} |
|
} else { |
|
%srch_results = &Apache::lonnet::usersearch($srch); |
($state,$response,$forcenewuser) = |
($state,$response,$forcenewuser) = |
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} else { |
|
$state = 'modify'; |
|
} |
} |
} else { |
} else { |
my %courseusers = &get_courseusers(); |
my $courseusers = &get_courseusers(); |
if (exists($courseusers{$srch->{'srchterm'}.':'.$srch->{'srchdomain'}})) { |
if ($srch->{'srchtype'} eq 'exact') { |
$state = 'modify'; |
if (exists($courseusers->{$srch->{'srchterm'}.':'.$srch->{'srchdomain'}})) { |
|
$state = 'modify'; |
|
} else { |
|
($state,$response,$forcenewuser) = |
|
&build_search_response($srch,%srch_results); |
|
} |
} else { |
} else { |
|
foreach my $user (keys(%$courseusers)) { |
|
my ($cuname,$cudomain) = split(/:/,$user); |
|
if ($cudomain eq $srch->{'srchdomain'}) { |
|
if ($cuname =~ /\Q$srch->{'srchterm'}\E/i) { |
|
$srch_results{$user} = |
|
{&Apache::lonnet::get('environment', |
|
['firstname', |
|
'lastname', |
|
'permanentemail'])}; |
|
} |
|
} |
|
} |
($state,$response,$forcenewuser) = |
($state,$response,$forcenewuser) = |
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} |
} |
Line 2352 sub user_search_result {
|
Line 2301 sub user_search_result {
|
($state,$response,$forcenewuser) = |
($state,$response,$forcenewuser) = |
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} elsif ($srch->{'srchin'} eq 'crs') { |
} elsif ($srch->{'srchin'} eq 'crs') { |
my %courseusers = &get_courseusers(); |
my $courseusers = &get_courseusers(); |
foreach my $user (keys(%courseusers)) { |
foreach my $user (keys(%$courseusers)) { |
my ($uname,$udom) = split(/:/,$user); |
my ($uname,$udom) = split(/:/,$user); |
my %names = &Apache::loncommon::getnames($uname,$udom); |
my %names = &Apache::loncommon::getnames($uname,$udom); |
my %emails = &Apache::loncommon::getemails($uname,$udom); |
my %emails = &Apache::loncommon::getemails($uname,$udom); |
Line 2410 sub directorysrch_check {
|
Line 2359 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 2444 sub directorysrch_check {
|
Line 2393 sub directorysrch_check {
|
return &mt('Directory search has not been configured for domain: [_1]',$srch->{'srchdomain'}); |
return &mt('Directory search has not been configured for domain: [_1]',$srch->{'srchdomain'}); |
} |
} |
my %longtext = &Apache::lonlocal::texthash ( |
my %longtext = &Apache::lonlocal::texthash ( |
uname => 'username', |
uname => 'username', |
lastfirst => 'last name, first name', |
lastfirst => 'last name, first name', |
lastname => 'last name', |
lastname => 'last name', |
contains => 'is contained in', |
contains => 'contains', |
exact => 'as exact match to' |
exact => 'as exact match to' |
); |
); |
if ($can_search) { |
if ($can_search) { |
if (ref($dom_inst_srch{'directorysrch'}{'searchby'}) eq 'ARRAY') { |
if (ref($dom_inst_srch{'directorysrch'}{'searchby'}) eq 'ARRAY') { |
if (!grep(/^\Q$srch->{'srchby'}\E$/,@{$dom_inst_srch{'directorysrch'}{'searchby'}})) { |
if (!grep(/^\Q$srch->{'srchby'}\E$/,@{$dom_inst_srch{'directorysrch'}{'searchby'}})) { |
return &mt('Directory search in domain: [_1] is not available for searching by [_2]',$srch->{'srchdomain'},$longtext{$srch->{'srchby'}}); |
return &mt('Directory search in domain: [_1] is not available for searching by "[_2]"',$srch->{'srchdomain'},$longtext{$srch->{'srchby'}}); |
} |
} |
} else { |
} else { |
return &mt('Directory search in domain: [_1] is not available.', $srch->{'srchdomain'}); |
return &mt('Directory search in domain: [_1] is not available.', $srch->{'srchdomain'}); |
Line 2464 sub directorysrch_check {
|
Line 2413 sub directorysrch_check {
|
($dom_inst_srch{'directorysrch'}{'searchtypes'} eq $srch->{'srchtype'})) { |
($dom_inst_srch{'directorysrch'}{'searchtypes'} eq $srch->{'srchtype'})) { |
return 'ok'; |
return 'ok'; |
} else { |
} else { |
return &mt('Directory search in domain [_1] is not available for the requested search type: [_2]',$srch->{'srchdomain'},$longtext{$srch->{'srchtype'}}); |
return &mt('Directory search in domain [_1] is not available for the requested search type: "[_2]"',$srch->{'srchdomain'},$longtext{$srch->{'srchtype'}}); |
} |
} |
} |
} |
} |
} |
Line 2472 sub directorysrch_check {
|
Line 2421 sub directorysrch_check {
|
|
|
sub get_courseusers { |
sub get_courseusers { |
my %advhash; |
my %advhash; |
|
my $classlist = &Apache::loncoursedata::get_classlist(); |
my %coursepersonnel=&Apache::lonnet::get_course_adv_roles(); |
my %coursepersonnel=&Apache::lonnet::get_course_adv_roles(); |
foreach my $role (sort(keys(%coursepersonnel))) { |
foreach my $role (sort(keys(%coursepersonnel))) { |
foreach my $user (split(/\,/,$coursepersonnel{$role})) { |
foreach my $user (split(/\,/,$coursepersonnel{$role})) { |
$advhash{$user} = ''; |
if (!exists($classlist->{$user})) { |
|
$classlist->{$user} = []; |
|
} |
} |
} |
} |
} |
my $classlist = &Apache::loncoursedata::get_classlist(); |
return $classlist; |
my %combined = (%advhash, %{$classlist}); |
|
return %combined; |
|
} |
} |
|
|
sub build_search_response { |
sub build_search_response { |
Line 2510 sub build_search_response {
|
Line 2460 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 2532 sub build_search_response {
|
Line 2482 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 />'; |
|
} |
} |
} |
} |
} |
} |
Line 2628 sub course_level_table {
|
Line 2577 sub course_level_table {
|
$table .= '<td> </td>'; |
$table .= '<td> </td>'; |
} |
} |
$table .= <<ENDTIMEENTRY; |
$table .= <<ENDTIMEENTRY; |
<td><input type=hidden name="start_$protectedcourse\_$role" value='' /> |
<td><input type="hidden" name="start_$protectedcourse\_$role" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$protectedcourse\_$role.value,'start_$protectedcourse\_$role','cu.pres','dateset')">$lt{'ssd'}</a></td> |
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$protectedcourse\_$role.value,'start_$protectedcourse\_$role','cu.pres','dateset')">$lt{'ssd'}</a></td> |
<td><input type=hidden name="end_$protectedcourse\_$role" value='' /> |
<td><input type="hidden" name="end_$protectedcourse\_$role" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$role.value,'end_$protectedcourse\_$role','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$protectedcourse\_$role.value,'end_$protectedcourse\_$role','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDTIMEENTRY |
ENDTIMEENTRY |
Line 2664 ENDTIMEENTRY
|
Line 2613 ENDTIMEENTRY
|
'name="sec_'.$customrole.'" /></td>'; |
'name="sec_'.$customrole.'" /></td>'; |
} |
} |
$table .= <<ENDENTRY; |
$table .= <<ENDENTRY; |
<td><input type=hidden name="start_$customrole" value='' /> |
<td><input type="hidden" name="start_$customrole" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$customrole.value,'start_$customrole','cu.pres','dateset')">$lt{'ssd'}</a></td> |
"javascript:pjump('date_start','Start Date $plrole',document.cu.start_$customrole.value,'start_$customrole','cu.pres','dateset')">$lt{'ssd'}</a></td> |
<td><input type=hidden name="end_$customrole" value='' /> |
<td><input type="hidden" name="end_$customrole" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$customrole.value,'end_$customrole','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date $plrole',document.cu.end_$customrole.value,'end_$customrole','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDENTRY |
ENDENTRY |
Line 2759 sub course_level_dc {
|
Line 2708 sub course_level_dc {
|
'<input type="hidden" name="groups" value="" /></td>'. |
'<input type="hidden" name="groups" value="" /></td>'. |
'</tr></table></td>'; |
'</tr></table></td>'; |
$otheritems .= <<ENDTIMEENTRY; |
$otheritems .= <<ENDTIMEENTRY; |
<td><input type=hidden name="start" value='' /> |
<td><input type="hidden" name="start" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_start','Start Date',document.cu.start.value,'start','cu.pres','dateset')">$lt{'ssd'}</a></td> |
"javascript:pjump('date_start','Start Date',document.cu.start.value,'start','cu.pres','dateset')">$lt{'ssd'}</a></td> |
<td><input type=hidden name="end" value='' /> |
<td><input type="hidden" name="end" value='' /> |
<a href= |
<a href= |
"javascript:pjump('date_end','End Date',document.cu.end.value,'end','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date',document.cu.end.value,'end','cu.pres','dateset')">$lt{'sed'}</a></td> |
ENDTIMEENTRY |
ENDTIMEENTRY |