--- loncom/interface/loncreateuser.pm 2010/10/11 15:38:17 1.329.2.5 +++ loncom/interface/loncreateuser.pm 2010/11/08 19:52:01 1.329.2.6 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.329.2.5 2010/10/11 15:38:17 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.329.2.6 2010/11/08 19:52:01 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -70,6 +70,7 @@ use Apache::lonlocal; use Apache::longroup; use Apache::lonuserutils; use Apache::loncoursequeueadmin; +use Apache::lonrequestcourse; use LONCAPA qw(:DEFAULT :match); my $loginscript; # piece of javascript used in two separate instances @@ -4054,6 +4055,18 @@ sub handler { } else { $context = 'domain'; } + my ($permission,$allowed) = + &Apache::lonuserutils::get_permission($context,$crstype); + if (!$allowed) { + $env{'user.error.msg'}= + "/adm/createuser:cst:0:0:Cannot create/modify user data ". + "or view user status."; + return HTTP_NOT_ACCEPTABLE; + } + + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + my $title = 'User Management'; my $is_custom = &Apache::loncommon::needs_gci_custom(); if ($context eq 'course') { @@ -4068,7 +4081,15 @@ sub handler { my $args; my $brcrum = []; my $bread_crumbs_component = $title; - if ($env{'form.action'} ne 'dateselect') { + if ($env{'form.context'} eq 'requestcrs') { + my $reqstate = 'uploadroster'; + if ($env{'form.state'} eq 'enrolling') { + $reqstate = 'enrolling'; + } + unless (&Apache::lonrequestcourse::generate_page($r,'new',$reqstate)) { + return OK; + } + } elsif ($env{'form.action'} ne 'dateselect') { $brcrum = [{href=>"/adm/createuser", text=>$title, help=>'Course_Create_Class_List,Course_Change_Privileges,Course_View_Class_List,Course_Editing_Custom_Roles,Course_Add_Student,Course_Drop_Student,Course_Automated_Enrollment,Course_Self_Enrollment,Course_Manage_Group'} @@ -4076,17 +4097,6 @@ sub handler { } #SD Following files not added to help, because the corresponding .tex-files seem to #be missing: Course_Approve_Selfenroll,Course_User_Logs, - my ($permission,$allowed) = - &Apache::lonuserutils::get_permission($context,$crstype); - if (!$allowed) { - $env{'user.error.msg'}= - "/adm/createuser:cst:0:0:Cannot create/modify user data ". - "or view user status."; - return HTTP_NOT_ACCEPTABLE; - } - - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; # Main switch on form.action and form.state, as appropriate if (! exists($env{'form.action'})) { @@ -4095,34 +4105,51 @@ sub handler { $r->print(&header(undef,$args)); $r->print(&print_main_menu($permission,$context,$crstype)); } elsif ($env{'form.action'} eq 'upload' && $permission->{'cusr'}) { - push(@{$brcrum}, - { href => '/adm/createuser?action=upload&state=', - text => 'Upload Users List', - help => 'Course_Create_Class_List', - }); - $bread_crumbs_component = 'Upload Users List'; - $args = {bread_crumbs => $brcrum, - bread_crumbs_component => $bread_crumbs_component}; - $r->print(&header(undef,$args)); - $r->print('
'."\n"); + unless ($env{'form.context'} eq 'requestcrs') { + push(@{$brcrum}, + { href => '/adm/createuser?action=upload&state=', + text => 'Upload Users List', + help => 'Course_Create_Class_List', + }); + $bread_crumbs_component = 'Upload Users List'; + $args = {bread_crumbs => $brcrum, + bread_crumbs_component => $bread_crumbs_component}; + $r->print(&header(undef,$args)); + } + unless (($env{'form.context'} eq 'requestcrs') && ($env{'form.state'} eq 'enrolling')) { + $r->print(''."\n"); + } if (! exists($env{'form.state'})) { &Apache::lonuserutils::print_first_users_upload_form($r,$context); } elsif ($env{'form.state'} eq 'got_file') { my $formname; - if ($env{'form.caller'} eq 'requestcrs') { + if ($env{'form.context'} eq 'requestcrs') { $formname = 'studentform'; } &Apache::lonuserutils::print_upload_manager_form($r,$context, $permission,$crstype,$formname); + if ($env{'form.context'} eq 'requestcrs') { + $r->print(''); + } } elsif ($env{'form.state'} eq 'enrolling') { if ($env{'form.datatoken'}) { &Apache::lonuserutils::upfile_drop_add($r,$context,$permission); + if ($env{'form.context'} eq 'requestcrs') { + $r->print('

'. + ''. + ''. + ''. + ''. + ''. + &Apache::lonrequestcourse::done_display()); + } } } else { &Apache::lonuserutils::print_first_users_upload_form($r,$context); } + $r->print('
'); } elsif ((($env{'form.action'} eq 'singleuser') || ($env{'form.action'} eq 'singlestudent')) && ($permission->{'cusr'})) { my $phase = $env{'form.phase'};