version 1.1, 2009/08/04 20:08:34
|
version 1.2, 2009/08/06 20:46:42
|
Line 71 sub handler {
|
Line 71 sub handler {
|
# Get parameters from query string |
# Get parameters from query string |
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi |
($ENV{'QUERY_STRING'},['srchdom','form','udomelement','unameelement','ulastelement', |
($ENV{'QUERY_STRING'},['srchdom','form','udomelement','unameelement','ulastelement', |
'ufirstelement','uemailelement','hideudomelement']); |
'ufirstelement','uemailelement','hideudomelement','coursedom']); |
my $js; |
my $js; |
|
|
if ($env{'form.phase'} eq 'get_user_info') { |
if (($env{'form.phase'} eq 'get_user_info') || |
|
($env{'form.phase'} eq 'store_newuser')) { |
$js = &gochoose_javascript(); |
$js = &gochoose_javascript(); |
|
} elsif ($env{'form.phase'} eq 'define_newuser') { |
|
$js = <<"ENDSP"; |
|
<script type="text/javascript"> |
|
// <![CDATA[ |
|
function setphase(caller) { |
|
document.newuserinfo.phase.value = caller; |
|
document.newuserinfo.submit(); |
|
return; |
|
} |
|
// ]]> |
|
</script> |
|
ENDSP |
} |
} |
|
my $startargs = {'no_nav_bar' => 1, }; |
$r->print(&Apache::loncommon::start_page('Selecting course personnel',$js, |
if ($env{'form.phase'} eq 'store_newuser') { |
{'no_nav_bar' => 1, })); |
my $uname = $env{'form.srchterm'}; |
|
my $udom = $env{'form.srchdomain'}; |
|
my $newfirst = $env{'form.newfirst'}; |
|
my $newlast = $env{'form.newlast'}; |
|
my $newemail = $env{'form.newemail'}; |
|
$startargs->{'add_entries'} = { onload => 'javascript:gochoose('."'$uname','$udom','$newfirst','$newlast','$newemail'".');' }; |
|
} |
|
$r->print(&Apache::loncommon::start_page('Selecting course personnel', |
|
$js,$startargs)); |
my %toset = ( |
my %toset = ( |
uname => 'unameelement', |
uname => 'unameelement', |
udom => 'udomelement', |
udom => 'udomelement', |
Line 108 sub handler {
|
Line 129 sub handler {
|
$srch{'srchterm'},$rules); |
$srch{'srchterm'},$rules); |
} |
} |
|
|
my $dom = $env{'form.srchdom'}; |
my $dom = $env{'form.coursedom'}; |
|
|
my $cancreate = |
my $cancreate = |
&Apache::lonuserutils::can_create_user($dom,$context,$usertype); |
&Apache::lonuserutils::can_create_user($dom,$context,$usertype); |
Line 118 sub handler {
|
Line 139 sub handler {
|
my $srchbutton = &mt('Search'); |
my $srchbutton = &mt('Search'); |
|
|
my $headertext = &mt('Search for a user to add to course personnel'); |
my $headertext = &mt('Search for a user to add to course personnel'); |
my $opener_elems; |
my $opener_elems = '<input type="hidden" name="form" value="'. |
|
$env{'form.form'}.'" />'."\n". |
|
'<input type="hidden" name="coursedom" value="'. |
|
$env{'form.coursedom'}.'" />'."\n"; |
foreach my $item (keys(%toset)) { |
foreach my $item (keys(%toset)) { |
if (exists($env{'form.'.$toset{$item}})) { |
if (exists($env{'form.'.$toset{$item}})) { |
$opener_elems .= '<input type="hidden" name="'.$toset{$item}.'" value="'.$env{'form.'.$toset{$item}}.'" />'."\n"; |
$opener_elems .= '<input type="hidden" name="'.$toset{$item}.'" value="'.$env{'form.'.$toset{$item}}.'" />'."\n"; |
} |
} |
} |
} |
$r->print(<<"ENDBLOCK"); |
unless ($env{'form.phase'} eq 'define_newuser') { |
|
$r->print(<<"ENDBLOCK"); |
<h3>$headertext</h3> |
<h3>$headertext</h3> |
<form action="/adm/pickuser" method="post" name="userpicker"> |
<form action="/adm/pickuser" method="post" name="userpicker"> |
$opener_elems |
$opener_elems |
<input type="hidden" name="phase" value="get_user_info" /> |
<input type="hidden" name="phase" value="get_user_info" /> |
<input type="hidden" name="form" value="$env{'form.form'}" /> |
|
$userpicker |
$userpicker |
<input name="userrole" type="button" value="$srchbutton" onclick="javascript:validateEntry(document.userpicker)" /> |
<input name="userrole" type="button" value="$srchbutton" onclick="javascript:validateEntry(document.userpicker)" /> |
</form> |
</form> |
ENDBLOCK |
ENDBLOCK |
|
} |
if ($env{'form.phase'} eq 'get_user_info') { |
if ($env{'form.phase'} eq 'get_user_info') { |
$r->print('<hr /><div>'.&mt('Searching ...').'</div>'); |
$r->print('<hr /><div>'.&mt('Searching ...').'</div>'); |
$r->rflush(); |
$r->rflush(); |
Line 144 ENDBLOCK
|
Line 169 ENDBLOCK
|
\@search,$context,$opener_elems); |
\@search,$context,$opener_elems); |
} else { |
} else { |
$r->print('<div>'.$response.'</div>'); |
$r->print('<div>'.$response.'</div>'); |
|
if ($forcenewuser) { |
|
if ($srch{'srchby'} eq 'uname' && |
|
$srch{'srchtype'} eq 'exact' && |
|
$srch{'srchin'} eq 'dom' && |
|
$srch{'srchdomain'} eq $env{'form.coursedom'}) { |
|
if ($cancreate) { |
|
$r->print("\n".'<div><form name="newuser" '. |
|
'method="post" action="/adm/pickuser">'); |
|
foreach my $item (keys(%srch)) { |
|
$r->print('<input type="hidden" name="'.$item.'"'. |
|
' value="'.$srch{$item}.'" />'."\n"); |
|
} |
|
$r->print(' |
|
<input type="hidden" name="phase" value="define_newuser"> |
|
<input type="submit" name="forcenew" value="'. |
|
&HTML::Entities::encode(&mt('Make new user "[_1]"',$srch{'srchterm'}),'<>&"').'" />'."\n". |
|
$opener_elems.' |
|
</form></div>'); |
|
} else { |
|
my $helplink = 'javascript:helpMenu('."'display'".')'; |
|
my %usertypetext = ( |
|
official => 'institutional', |
|
unofficial => 'non-institutional', |
|
); |
|
$r->print('<div class="LC_warning">'. |
|
&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.").' '. |
|
&mt('Please contact the [_1]helpdesk[_2] for assistance.','<a href="'.$helplink.'">','</a>').'</div>'); |
|
|
|
} |
|
} |
|
} |
|
} |
|
} |
|
if ($env{'form.phase'} eq 'define_newuser') { |
|
$r->print('<h3>'.&mt('Define new user').' '.$srch{'srchterm'}.':'. |
|
$srch{'srchdomain'}.'</h3>'."\n".'<div>'. |
|
'<form name="newuserinfo" method="post" action="/adm/pickuser">'."\n". |
|
'<input type="hidden" name="phase" value="" />'."\n". |
|
$opener_elems. |
|
&Apache::lonhtmlcommon::start_pick_box()."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('First Name')). |
|
'<input type="text" name="newfirst" value="" size="15" />'. |
|
&Apache::lonhtmlcommon::row_closure()."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('Last Name')). |
|
'<input type="text" name="newlast" value="" size="25" />' |
|
. |
|
&Apache::lonhtmlcommon::row_closure()."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('E-mail Address')). |
|
'<input type="text" name="newemail" value="" size="25" />' |
|
. |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::end_pick_box()); |
|
foreach my $item (keys(%srch)) { |
|
$r->print('<input type="hidden" name="'.$item.'"'. |
|
' value="'.$srch{$item}.'" />'."\n"); |
} |
} |
|
$r->print('<br /><input type="button" name="cancelnew" value="'. |
|
&mt('Cancel').'" onclick="javascript:setphase('. |
|
"'get_user_info'".');" />'."\n". |
|
'<input type="button" name="definenew" value="'. |
|
&mt('Save').'" onclick="javascript:setphase('. |
|
"'store_newuser'".');" /></form></div>'); |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
Line 153 ENDBLOCK
|
Line 239 ENDBLOCK
|
sub gochoose_javascript { |
sub gochoose_javascript { |
return <<"ENDGC"; |
return <<"ENDGC"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
function gochoose(uname,udom,ufirst,ulast,uemail) { |
function gochoose(uname,udom,ufirst,ulast,uemail) { |
opener.document.$env{'form.form'}.$env{'form.unameelement'}.value=uname; |
opener.document.$env{'form.form'}.$env{'form.unameelement'}.value=uname; |
opener.document.$env{'form.form'}.$env{'form.ufirstelement'}.value=ufirst; |
opener.document.$env{'form.form'}.$env{'form.ufirstelement'}.value=ufirst; |
Line 172 function gochoose(uname,udom,ufirst,ulas
|
Line 259 function gochoose(uname,udom,ufirst,ulas
|
opener.document.$env{'form.form'}.$env{'form.hideudomelement'}.value=udom; |
opener.document.$env{'form.form'}.$env{'form.hideudomelement'}.value=udom; |
self.close(); |
self.close(); |
} |
} |
|
// ]]> |
</script> |
</script> |
|
|
ENDGC |
ENDGC |