From: Arnie P. v. a. <we...@ma...> - 2005-06-17 15:41:51
|
Log Message: ----------- Sorting by permission now works. Modified Files: -------------- webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor: UserList.pm Revision Data ------------- Index: UserList.pm =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm,v retrieving revision 1.63 retrieving revision 1.64 diff -Llib/WeBWorK/ContentGenerator/Instructor/UserList.pm -Llib/WeBWorK/ContentGenerator/Instructor/UserList.pm -u -r1.63 -r1.64 --- lib/WeBWorK/ContentGenerator/Instructor/UserList.pm +++ lib/WeBWorK/ContentGenerator/Instructor/UserList.pm @@ -106,7 +106,7 @@ section => \&bySection, recitation => \&byRecitation, comment => \&byComment, -# permission => \&byPermission, + permission => \&byPermission, }; use constant FIELD_PROPERTIES => { @@ -301,7 +301,7 @@ "Section", "Recitation", "Comment", - "Perm. Level" + "Permission Level" ); $self->{prettyFieldNames} = \%prettyFieldNames; @@ -401,6 +401,7 @@ #warn "selectedUserIDs=@selectedUserIDs\n"; #warn "editMode=$editMode\n"; #warn "passwordMode=$passwordMode\n"; + #warn "primarySortField=$primarySortField\n"; ########## get required users @@ -410,6 +411,15 @@ my $primarySortSub = $sortSubs{$primarySortField}; my $secondarySortSub = $sortSubs{$secondarySortField}; my $ternarySortSub = $sortSubs{$ternarySortField}; + + # add permission level to user record hash so we can sort it if necessary + if ($primarySortField eq 'permission' or $secondarySortField eq 'permission' or $ternarySortField eq 'permission') { + foreach my $User (@Users) { + next unless $User; + my $permissionLevel = $db->getPermissionLevel($User->user_id); + $User->{permission} = $permissionLevel->permission; + } + } # # don't forget to sort in opposite order of importance @@ -696,8 +706,7 @@ "Sort by ", CGI::popup_menu( -name => "action.sort.primary", -# -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], ## This isn't defined and I don't have time to fix it right now AKP - -values => [qw(user_id first_name last_name email_address student_id status section recitation comment)], + -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], -default => $actionParams{"action.sort.primary"}->[0] || "last_name", -labels => { user_id => "Login Name", @@ -709,15 +718,14 @@ section => "Section", recitation => "Recitation", comment => "Comment", -# permission => "Perm. Level" ## This isn't defined and I don't have time to fix it right now AKP + permission => "Permission Level" }, -onchange => $onChange, ), ", then by ", CGI::popup_menu( -name => "action.sort.secondary", -# -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], ## This isn't defined and I don't have time to fix it right now AKP - -values => [qw(user_id first_name last_name email_address student_id status section recitation comment)], + -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], -default => $actionParams{"action.sort.secondary"}->[0] || "first_name", -labels => { user_id => "Login Name", @@ -729,15 +737,14 @@ section => "Section", recitation => "Recitation", comment => "Comment", -# permission => "Perm. Level" + permission => "Permission Level" }, -onchange => $onChange, ), ", then by ", CGI::popup_menu( -name => "action.sort.ternary", -# -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], ## This isn't defined and I don't have time to fix it right now AKP - -values => [qw(user_id first_name last_name email_address student_id status section recitation comment)], + -values => [qw(user_id first_name last_name email_address student_id status section recitation comment permission)], -default => $actionParams{"action.sort.ternary"}->[0] || "user_id", -labels => { user_id => "Login Name", @@ -749,7 +756,7 @@ section => "Section", recitation => "Recitation", comment => "Comment", -# permission => "Perm. Level" + permission => "Permission Level" }, -onchange => $onChange, ), @@ -779,7 +786,7 @@ section => "Section", recitation => "Recitation", comment => "Comment", - permission => "Perm. Level" + permission => "Permission Level" ); return "Users sorted by $names{$primary}, then by $names{$secondary}, then by $names{$ternary}."; @@ -1224,7 +1231,7 @@ sub bySection { lc $a->section cmp lc $b->section } sub byRecitation { lc $a->recitation cmp lc $b->recitation } sub byComment { lc $a->comment cmp lc $b->comment } -#sub byPermission { $a->permission <=> $b->permission } +sub byPermission { $a->{permission} <=> $b->{permission} } ## permission level is added to user record hash so we can sort it if necessary # sub byLnFnUid { &byLastName || &byFirstName || &byUserID } @@ -1526,7 +1533,7 @@ my $editMode = $options{editMode}; my $passwordMode = $options{passwordMode}; my %selectedUserIDs = map { $_ => 1 } @{ $options{selectedUserIDs} }; - my $currentSort = $options{currentSort}; +# my $currentSort = $options{currentSort}; # names of headings: my @realFieldNames = ( @@ -1535,7 +1542,7 @@ $permissionLevelTemplate->NONKEYFIELDS, ); - my %sortSubs = %{ SORT_SUBS() }; +# my %sortSubs = %{ SORT_SUBS() }; #my @stateParams = @{ STATE_PARAMS() }; #my $hrefPrefix = $r->uri . "?" . $self->url_args(@stateParams); # $self->url_authen_args my @tableHeadings; |