mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Fix possible None in TokenContainedEvaluator
The evaluator was not expecting None and retrieving roles or groups for an anonymous user was actually returning None instead of an empty set of roles or groups.
This commit is contained in:
@@ -4,6 +4,7 @@ from collections import (
|
||||
defaultdict,
|
||||
namedtuple,
|
||||
)
|
||||
from typing import Set
|
||||
|
||||
from galaxy import exceptions
|
||||
from galaxy.util import (
|
||||
@@ -246,15 +247,19 @@ class ProvidesUserFileSourcesUserContext:
|
||||
return user and user.extra_preferences or defaultdict(lambda: None)
|
||||
|
||||
@property
|
||||
def role_names(self):
|
||||
def role_names(self) -> Set[str]:
|
||||
"""The set of role names of this user."""
|
||||
user = self.trans.user
|
||||
if user is None:
|
||||
return set()
|
||||
return user and set([ura.role.name for ura in user.roles])
|
||||
|
||||
@property
|
||||
def group_names(self):
|
||||
def group_names(self) -> Set[str]:
|
||||
"""The set of group names to which this user belongs."""
|
||||
user = self.trans.user
|
||||
if user is None:
|
||||
return set()
|
||||
return user and set([ugr.group.name for ugr in user.groups])
|
||||
|
||||
@property
|
||||
|
||||
@@ -172,7 +172,7 @@ class TokenContainedEvaluator(TokenEvaluator):
|
||||
:param tokens: The list of tokens that should be evaluated to True.
|
||||
:type tokens: List[str]
|
||||
"""
|
||||
self.tokens = tokens
|
||||
self.tokens = tokens or set()
|
||||
|
||||
def evaluate(self, token: str) -> bool:
|
||||
return token in self.tokens
|
||||
|
||||
Reference in New Issue
Block a user