--- loncom/interface/lonuserutils.pm 2007/11/06 04:39:19 1.2 +++ loncom/interface/lonuserutils.pm 2007/11/06 18:23:14 1.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utility functions for managing LON-CAPA user accounts # -# $Id: lonuserutils.pm,v 1.2 2007/11/06 04:39:19 raeburn Exp $ +# $Id: lonuserutils.pm,v 1.3 2007/11/06 18:23:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1130,23 +1130,36 @@ sub print_userlist { } my ($indexhash,$keylist) = &make_keylist_array(); my (%userlist,%userinfo); + if ($context eq 'domain' && $env{'form.roletype'} eq 'course') { + my $courseform = + &Apache::lonhtmlcommon::course_selection($formname,$totcodes, + $codetitles,$idlist,$idlist_titles); + $r->print('
'.&Apache::lonhtmlcommon::start_pick_box()."\n". + &Apache::lonhtmlcommon::start_pick_box()."\n". + &Apache::lonhtmlcommon::row_title(&mt('Select Course(s)'), + 'LC_oddrow_value')."\n". + $courseform."\n". + &Apache::lonhtmlcommon::row_closure(1). + &Apache::lonhtmlcommon::end_pick_box().'
'. + ''.&list_submit_button(&mt('Update Display')). + "\n
\n"); + } + $r->print(''.&Apache::lonhtmlcommon::start_pick_box()."\n". - &Apache::lonhtmlcommon::start_pick_box()."\n". - &Apache::lonhtmlcommon::row_title(&mt('Select Course(s)'), - 'LC_oddrow_value')."\n". - $courseform."\n". - &Apache::lonhtmlcommon::row_closure(1). - &Apache::lonhtmlcommon::end_pick_box().'
'; - $r->print($output); - $r->print(''.&list_submit_button(&mt('Update Display')). - "\n
\n"); if ($env{'form.coursepick'}) { my %courses = &process_coursepick(); my %allusers; @@ -1264,29 +1264,29 @@ sub print_userlist { } } } - if (keys(%userlist) == 0) { - if ($context eq 'construction_space') { - $r->print(&mt('There are no co-authors to display.')."\n"); - } elsif ($context eq 'domain') { - if ($env{'form.roletype'} eq 'domain') { - $r->print(&mt('There are no users with domain roles to display.')."\n"); - } elsif ($env{'form.roletype'} eq 'construction_space') { - $r->print(&mt('There are no authors or co-authors to display.')."\n"); - } elsif ($env{'form.roletype'} eq 'course') { - $r->print(&mt('There are no course users to display')."\n"); - } - } elsif ($context eq 'course') { - $r->print(&mt('There are no course users to display.')."\n"); + } + if (keys(%userlist) == 0) { + if ($context eq 'construction_space') { + $r->print(&mt('There are no co-authors to display.')."\n"); + } elsif ($context eq 'domain') { + if ($env{'form.roletype'} eq 'domain') { + $r->print(&mt('There are no users with domain roles to display.')."\n"); + } elsif ($env{'form.roletype'} eq 'construction_space') { + $r->print(&mt('There are no authors or co-authors to display.')."\n"); + } elsif ($env{'form.roletype'} eq 'course') { + $r->print(&mt('There are no course users to display')."\n"); } + } elsif ($context eq 'course') { + $r->print(&mt('There are no course users to display.')."\n"); + } + } else { + # Print out the available choices + if ($env{'form.action'} eq 'modifystudent') { + &show_users_list($r,$context,'view','modify', + $env{'form.Status'},\%userlist,$keylist); } else { - # Print out the available choices - if ($env{'form.action'} eq 'modifystudent') { - &show_users_list($r,$context,'view','modify', - $env{'form.Status'},\%userlist,$keylist); - } else { - &show_users_list($r,$context,$env{'form.output'},'aboutme', - $env{'form.Status'},\%userlist,$keylist); - } + &show_users_list($r,$context,$env{'form.output'},'aboutme', + $env{'form.Status'},\%userlist,$keylist); } } $r->print(''); @@ -1603,14 +1603,14 @@ sub show_users_list { my ($CSVfile,$CSVfilename); # my $sortby = $env{'form.sortby'}; + my @sortable = ('username','domain','id','fullname','start','end','email','role'); if ($context eq 'course') { - if ($sortby !~ /^(username|domain|section|groups|fullname|id|start|end|type)$/) { - $sortby = 'username'; - } + push(@sortable,('section','groups','type')); } else { - if ($sortby !~ /^(username|domain|id|fullname|start|end|role|email|extent)$/) { - $sortby = 'username'; - } + push(@sortable,'extent'); + } + if (!grep(/^\Q$sortby\E$/,@sortable)) { + $sortby = 'username'; } my ($cid,$cdom,$cnum,$classgroups,$displayphotos,$displayclickers); if ($context eq 'course') { @@ -1683,7 +1683,7 @@ END if (!($context eq 'domain' && $env{'form.roletype'} eq 'course')) { push(@cols,('start','end')); } - if ($env{'form.showrole'} eq 'Any') { + if ($env{'form.showrole'} eq 'Any' || $env{'form.showrole'} eq 'cr') { push(@cols,'role'); } if ($context eq 'domain' && ($env{'form.roletype'} eq 'construction_space' || @@ -1705,11 +1705,8 @@ END } my $results_description = &results_header_row($rolefilter,$statusmode, $context); - + $r->print(''.$results_description.'