--- loncom/interface/loncreateuser.pm 2007/12/05 17:40:29 1.201 +++ loncom/interface/loncreateuser.pm 2007/12/05 21:23:14 1.202 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.201 2007/12/05 17:40:29 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.202 2007/12/05 21:23:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -627,7 +627,7 @@ sub print_user_modification_page { } ENDSCRIPT } else { - $nondc_setsection_code = + $nondc_setsection_code = &Apache::lonuserutils::setsections_javascript('cu',$groupslist); } my $js = &user_modification_js($pjump_def,$dc_setcourse_code, @@ -1198,7 +1198,7 @@ ENDBADAUTH } } else { # Authentication type is valid &initialize_authen_forms($ccdomain,$currentauth); - my $authformnop_row; + my $authformnop_row; if (&Apache::lonnet::allowed('mau',$ccdomain)) { $authformnop_row = &Apache::loncommon::start_data_table_row(); } @@ -1816,10 +1816,10 @@ END $r->print(&mt('Revoking [_1] in [_2]: [_3]', $role,$scope,''.$result.'').'
'); if ($role eq 'st') { - my $result = + my $result = &Apache::lonuserutils::classlist_drop($scope, $env{'form.ccuname'},$env{'form.ccdomain'}, - $now); + $now); $r->print($result); } } @@ -1843,10 +1843,10 @@ END $r->print(&mt('Deleting [_1] in [_2]: [_3]',$role,$scope, ''.$result.'').'
'); if ($role eq 'st') { - my $result = + my $result = &Apache::lonuserutils::classlist_drop($scope, $env{'form.ccuname'},$env{'form.ccdomain'}, - $now); + $now); $r->print($result); } } @@ -2393,11 +2393,13 @@ sub handler { $context = 'domain'; } &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['action','state']); + ['action','state','callingform','roletype','showrole','bulkaction']); &Apache::lonhtmlcommon::clear_breadcrumbs(); - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"/adm/createuser", - text=>"User Management"}); + if ($env{'form.action'} ne 'dateselect') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>"/adm/createuser", + text=>"User Management"}); + } my ($permission,$allowed) = &get_permission($context); if (!$allowed) { $env{'user.error.msg'}= @@ -2447,7 +2449,7 @@ sub handler { if (! exists($env{'form.state'})) { &Apache::lonuserutils::print_expire_menu($r,$context); } elsif ($env{'form.state'} eq 'done') { - &Apache::lonuserutils::expire_user_list($r); + &Apache::lonuserutils::expire_user_list($r,$context); } else { &Apache::lonuserutils::print_expire_menu($r,$context); } @@ -2512,31 +2514,46 @@ sub handler { &custom_role_editor($r); } } elsif ($env{'form.action'} eq 'listusers' && $permission->{'view'}) { - my ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles); - my $formname = 'studentform'; - if ($context eq 'domain' && $env{'form.roletype'} eq 'course') { - ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles) = - &Apache::lonuserutils::courses_selector($env{'request.role.domain'}, - $formname); - my $js = &add_script($jscript).$cb_jscript; - my $loadcode = - &Apache::lonuserutils::course_selector_loadcode($formname); - if ($loadcode ne '') { - $r->print(&header($js,{'onload' => $loadcode,})); + if ($env{'form.phase'} eq 'bulkchange') { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>'backPage(document.studentform)', + text=>"List Users"}); + my $setting = $env{'form.roletype'}; + my $choice = $env{'form.bulkaction'}; + $r->print(&header()); + $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users", + 'User_Management_List')); + if ($permission->{'cusr'}) { + &Apache::lonuserutils::update_user_list($r,$context,$setting,$choice); + } + } else { + &Apache::lonhtmlcommon::add_breadcrumb + ({href=>'/adm/createuser?action=listusers', + text=>"List Users"}); + my ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles); + my $formname = 'studentform'; + if ($context eq 'domain' && $env{'form.roletype'} eq 'course') { + ($cb_jscript,$jscript,$totcodes,$codetitles,$idlist,$idlist_titles) = + &Apache::lonuserutils::courses_selector($env{'request.role.domain'}, + $formname); + $jscript .= &verify_user_display(); + my $js = &add_script($jscript).$cb_jscript; + my $loadcode = + &Apache::lonuserutils::course_selector_loadcode($formname); + if ($loadcode ne '') { + $r->print(&header($js,{'onload' => $loadcode,})); + } else { + $r->print(&header($js)); + } } else { - $r->print(&header($js)); + $r->print(&header(&add_script(&verify_user_display()))); } - } else { - $r->print(&header()); + $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users", + 'User_Management_List')); + &Apache::lonuserutils::print_userlist($r,undef,$permission,$context, + $formname,$totcodes,$codetitles,$idlist,$idlist_titles); + $r->print(&Apache::loncommon::end_page()); } - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>'/adm/createuser?action=listusers', - text=>"List Users"}); - $r->print(&Apache::lonhtmlcommon::breadcrumbs("List Users", - 'User_Management_List')); - &Apache::lonuserutils::print_userlist($r,undef,$permission,$context, - $formname,$totcodes,$codetitles,$idlist,$idlist_titles); - $r->print(&Apache::loncommon::end_page()); } elsif ($env{'form.action'} eq 'expire' && $permission->{'cusr'}) { $r->print(&header()); &Apache::lonhtmlcommon::add_breadcrumb @@ -2547,26 +2564,37 @@ sub handler { if (! exists($env{'form.state'})) { &Apache::lonuserutils::print_expire_menu($r,$context); } elsif ($env{'form.state'} eq 'done') { - &Apache::lonuserutiles::expire_user_list($r); + &Apache::lonuserutiles::expire_user_list($r,$context); } else { &print_expire_menu($r,$context); } $r->print(&Apache::loncommon::end_page()); + } elsif ($env{'form.action'} eq 'dateselect') { + if ($permission->{'cusr'}) { + $r->print(&header(undef,undef,{'no_nav_bar' => 1}). + &Apache::lonuserutils::date_section_selector($context). + &Apache::loncommon::end_page()); + } else { + $r->print(&header(). + ''.&mt('You do not have permission to modify dates or sections for users').''. + &Apache::loncommon::end_page()); + } } else { $r->print(&header()); - $r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); $r->print(&print_main_menu($permission)); + $r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); + $r->print(&print_main_menu($permission)); $r->print(&Apache::loncommon::end_page()); } return OK; } sub header { - my ($jscript,$loaditems) = @_; + my ($jscript,$loaditems,$args) = @_; my $start_page; if (ref($loaditems) eq 'HASH') { - $start_page=&Apache::loncommon::start_page('User Management',$jscript,{'add_entries' => $loaditems,}); + $start_page=&Apache::loncommon::start_page('User Management',$jscript,{'add_entries' => $loaditems}); } else { - $start_page=&Apache::loncommon::start_page('User Management',$jscript); + $start_page=&Apache::loncommon::start_page('User Management',$jscript,$args); } return $start_page; } @@ -2576,6 +2604,20 @@ sub add_script { return ''; } +sub verify_user_display { + my $output = <<"END"; + +function display_update() { + document.studentform.action.value = 'listusers'; + document.studentform.phase.value = 'display'; + document.studentform.submit(); +} + +END + return $output; + +} + ############################################################### ############################################################### # Menu Phase One @@ -3150,9 +3192,9 @@ sub course_level_table { '.$area.'
Domain: '.$domain.''."\n"; if ($role ne 'cc') { if (%sections_count) { - my $currsec = + my $currsec = &Apache::lonuserutils::course_sections(\%sections_count, - $protectedcourse.'_'.$role); + $protectedcourse.'_'.$role); $table .= ''. ' @@ -3192,7 +3234,7 @@ ENDTIMEENTRY '."\n"; if (%sections_count) { - my $currsec = + my $currsec = &Apache::lonuserutils::course_sections(\%sections_count, $customrole); $table.=
'.$plrole.' '.$area.'