diff --git a/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm b/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm index 07bcee7443..e557919b2c 100644 --- a/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm +++ b/lib/WeBWorK/ContentGenerator/Instructor/UserList.pm @@ -241,7 +241,8 @@ sub pre_header_initialize ($c) { $c->{allUserIDs} = [ keys %allUsers ]; $c->{sortedUserIDs} = [ map { $_->user_id } - sort { &$primarySortSub || &$secondarySortSub || &$ternarySortSub } (values %allUsers) + sort { &$primarySortSub || &$secondarySortSub || &$ternarySortSub } + grep { $c->{visibleUserIDs}{ $_->user_id } } (values %allUsers) ]; return; @@ -561,7 +562,7 @@ sub save_password_handler ($c) { } if (defined $c->param('prev_visible_users')) { - $c->{visibleUserIDs} = $c->every_param('prev_visible_users'); + $c->{visibleUserIDs} = { map { $_ => 1 } @{ $c->every_param('prev_visible_users') } }; } elsif (defined $c->param('no_prev_visible_users')) { $c->{visibleUserIDs} = {}; } @@ -611,7 +612,7 @@ sub importUsersFromCSV ($c, $fileName, $createNew, $replaceExisting, @replaceLis my $db = $c->db; my $dir = $ce->{courseDirs}->{templates}; my $user = $c->param('user'); - my $perm = $db->getPermissionLevel($user)->permission; + my $perm = $c->{userPermission}; die $c->maketext("illegal character in input: '/'") if $fileName =~ m|/|; die $c->maketext("won't be able to read from file [_1]/[_2]: does it exist? is it readable?", $dir, $fileName) diff --git a/templates/ContentGenerator/Instructor/UserList.html.ep b/templates/ContentGenerator/Instructor/UserList.html.ep index 4645734993..d72a000aa5 100644 --- a/templates/ContentGenerator/Instructor/UserList.html.ep +++ b/templates/ContentGenerator/Instructor/UserList.html.ep @@ -40,14 +40,14 @@ % <%= form_for current_route, method => 'POST', name => 'userlist', id => 'user-list-form', class => 'font-sm', begin =%> <%= $c->hidden_authen_fields =%> - % if (scalar(keys %{ $c->{visibleUserIDs} })) { + % if (keys %{ $c->{visibleUserIDs} }) { % for (keys %{ $c->{visibleUserIDs} }) { <%= hidden_field visible_users => $_ =%> % } % } else { <%= hidden_field no_visible_users => '1' =%> % } - % if (scalar(keys %{ $c->{prevVisibleUserIDs} })) { + % if (keys %{ $c->{prevVisibleUserIDs} }) { % for (keys %{ $c->{prevVisibleUserIDs} }) { <%= hidden_field prev_visible_users => $_ =%> % } diff --git a/templates/ContentGenerator/Instructor/UserList/user_list.html.ep b/templates/ContentGenerator/Instructor/UserList/user_list.html.ep index 0cd33fd871..c42223351b 100644 --- a/templates/ContentGenerator/Instructor/UserList/user_list.html.ep +++ b/templates/ContentGenerator/Instructor/UserList/user_list.html.ep @@ -69,16 +69,19 @@ - % for (grep { $c->{visibleUserIDs}{$_} } @{ $c->{sortedUserIDs} }) { + % for (@{ $c->{sortedUserIDs} }) { <%= include 'ContentGenerator/Instructor/UserList/user_row', - user => $c->{allUsers}{$_}, userSelected => exists $c->{selectedUserIDs}{$_}, editable => exists $c->{userIsEditable}{$_} =%> + user => $c->{allUsers}{$_}, + userSelected => exists $c->{selectedUserIDs}{$_}, + editable => exists $c->{userIsEditable}{$_} + =%> % } % % # If there are no users shown print message. -% unless (scalar(keys %{ $c->{visibleUserIDs} })) { +% unless (scalar(@{ $c->{sortedUserIDs} })) {

<%= maketext('No students shown. Choose one of the options above to list the students in the course.') =%>