--- loncom/interface/loncreateuser.pm 2007/12/21 12:41:25 1.213 +++ loncom/interface/loncreateuser.pm 2007/12/21 14:05:40 1.214 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.213 2007/12/21 12:41:25 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.214 2007/12/21 14:05:40 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -223,15 +223,15 @@ sub print_username_entry_form { my $start_page = &Apache::loncommon::start_page('User Management', $jscript,{'add_entries' => \%loaditems,}); - if ($env{'form.action'} eq 'singleuser') { + if ($env{'form.action'} eq 'custom') { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:backPage(document.crtuser)", - text=>"Single user search", - faq=>282,bug=>'Instructor Interface',}); - } elsif ($env{'form.action'} eq 'custom') { + text=>"Pick custom role",}); + } else { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:backPage(document.crtuser)", - text=>"Pick custom role",}); + text=>"Single user search", + faq=>282,bug=>'Instructor Interface',}); } my $crumbs = &Apache::lonhtmlcommon::breadcrumbs('User Management'); my %existingroles=&Apache::lonuserutils::my_custom_roles(); @@ -245,7 +245,8 @@ sub print_username_entry_form { 'ecrp' => "Edit Custom Role Privileges", 'nr' => "Name of Role", 'cre' => "Custom Role Editor", - 'mod' => "to edit user information or add/modify roles", + 'mod' => "to modify user information or add/modify roles", + 'enrl' => "to enroll one student", ); my $help = &Apache::loncommon::help_open_menu(undef,undef,282,'Instructor Interface'); my $helpsiur=&Apache::loncommon::help_open_topic('Course_Change_Privileges'); @@ -256,12 +257,7 @@ sub print_username_entry_form { $sellink = "$lt{'or'} ".$sellink; } $r->print($start_page."\n".$crumbs); - if ($env{'form.action'} eq 'singleuser') { - $r->print(" -

$lt{'srch'} $sellink $lt{'mod'}$helpsiur

-$response"); - $r->print(&entry_form($defdom,$srch,$forcenewuser,$context)); - } elsif ($env{'form.action'} eq 'custom') { + if ($env{'form.action'} eq 'custom') { if (&Apache::lonnet::allowed('mcr','/')) { $r->print(< @@ -289,15 +285,25 @@ ENDCUSTOM } sub entry_form { - my ($dom,$srch,$forcenewuser,$context) = @_; + my ($dom,$srch,$forcenewuser,$context,$responsemsg) = @_; my %domconf = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom); - my $cancreate = &Apache::lonuserutils::can_create_user($dom,$context); - if (!$cancreate) { - $forcenewuser = ''; + my $usertype; + if (ref($srch) eq 'HASH') { + if (($srch->{'srchin'} eq 'dom') && + ($srch->{'srchby'} eq 'uname') && + ($srch->{'srchtype'} eq 'exact') && + ($srch->{'srchdomain'} ne '') && + ($srch->{'srchterm'} ne '')) { + my ($rules,$ruleorder) = + &Apache::lonnet::inst_userrules($srch->{'srchdomain'},'username'); + $usertype = &Apache::lonuserutils::check_usertype($srch->{'srchdomain'},$srch->{'srchterm'},$rules); + } } + my $cancreate = + &Apache::lonuserutils::can_create_user($dom,$context,$usertype); my $userpicker = &Apache::loncommon::user_picker($dom,$srch,$forcenewuser, - 'document.crtuser'); + 'document.crtuser',$cancreate,$usertype); my $srchbutton = &mt('Search'); my $output = <<"ENDBLOCK";
@@ -327,6 +333,7 @@ ENDBLOCK

$lt{crnu}$helpcrt

+$responsemsg @@ -404,8 +411,8 @@ ENDSCRIPT 'firstname' => "first name", 'permanentemail' => "permanent e-mail", ); + $r->print(&Apache::loncommon::start_page('User Management',$jscript)); if ($operation eq 'createuser') { - $r->print(&Apache::loncommon::start_page('User Management',$jscript)); &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:backPage(document.usersrchform,'','')", text=>"Create/modify user", @@ -417,9 +424,17 @@ ENDSCRIPT $r->print("$lt{'usrch'}
"); $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context)); $r->print('

'.$lt{'usel'}.'

'); - } else { + } elsif ($operation eq 'enrollstudent') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"javascript:backPage(document.usersrchform,'','')", + text=>"Create/modify student", + faq=>282,bug=>'Instructor Interface',}, + {href=>"javascript:backPage(document.usersrchform,'get_user_info','select')", + text=>"Select Student", + faq=>282,bug=>'Instructor Interface',}); + $r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); $r->print($jscript."$lt{'stusrch'}
"); - $r->print(&Apache::londropadd::single_user_entry_form($srch->{'srchdomain'},$srch)); + $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context)); $r->print('

'.$lt{'stusel'}.'

'); } $r->print(''. @@ -465,14 +480,8 @@ ENDSCRIPT ' '."\n". ' '."\n". ' '."\n". - ' '."\n"); - $r->print($response); - if ($operation eq 'createuser') { - $r->print(''.&Apache::loncommon::end_page()); - } else { - $r->print(''."\n". - ''."\n"); - } + ' '."\n"); + $r->print($response.''.&Apache::loncommon::end_page()); } sub print_user_query_page { @@ -2754,8 +2763,14 @@ sub handler { $currstate = $env{'form.currstate'}; } if ($currstate eq 'select') { + my $operation; + if ($env{'form.action'} eq 'singleuser') { + $operation = 'createuser'; + } elsif ($env{'form.action'} eq 'singlestudent') { + $operation = 'enrollstudent'; + } &print_user_selection_page($r,$response,$srch,$results, - 'createuser',\@search,$context); + $operation,\@search,$context); } elsif ($currstate eq 'modify') { my ($ccuname,$ccdomain); if (($srch->{'srchby'} eq 'uname') &&
$lt{'usr'}: