From: Gavin L. v. a. <we...@ma...> - 2006-01-02 23:28:33
|
Log Message: ----------- Gateway update: don't display gateway sets in siblings sidebar of ProblemSet list for all users, regardless of permissions. This may or may not be the desired behavior. I like it because it forces the user to go to a test from the ProblemSets page where we rewrite the link with the more intuitive (but longer) text "Take new [test name] test". Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: ProblemSet.pm Revision Data ------------- Index: ProblemSet.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/ProblemSet.pm,v retrieving revision 1.69 retrieving revision 1.70 diff -Llib/WeBWorK/ContentGenerator/ProblemSet.pm -Llib/WeBWorK/ContentGenerator/ProblemSet.pm -u -r1.69 -r1.70 --- lib/WeBWorK/ContentGenerator/ProblemSet.pm +++ lib/WeBWorK/ContentGenerator/ProblemSet.pm @@ -133,14 +133,19 @@ my @setIDs = sortByName(undef, $db->listUserSets($eUserID)); # do not show unpublished siblings unless user is allowed to view unpublished sets, and - # exclude gateway tests - unless ($authz->hasPermissions($user, "view_unpublished_sets") ) { + # exclude gateway tests in all cases + if ( $authz->hasPermissions($user, "view_unpublished_sets") ) { + @setIDs = grep {my $gs = $db->getGlobalSet( $_ ); + $gs->assignment_type() !~ /gateway/} @setIDs; + + } else { # @setIDs = grep {my $visible = $db->getGlobalSet( $_)->published; (defined($visible))? $visible : 1} @setIDs = grep {my $gs = $db->getGlobalSet( $_ ); - $gs->assignment_type() !~ /gateway/ && - ( defined($gs->published()) ? $gs->published() : 1 )} + $gs->assignment_type() !~ /gateway/ && + ( defined($gs->published()) ? $gs->published() : 1 )} @setIDs; } + #print CGI::start_ul({class=>"LinksMenu"}); #print CGI::start_li(); #print CGI::span({style=>"font-size:larger"}, "Homework Sets"); |