use first_or_none utility for finding portfolio role
This commit is contained in:
parent
ad56ddc60e
commit
79cb7ac2eb
@ -1,3 +1,4 @@
|
|||||||
|
from atst.utils import first_or_none
|
||||||
from atst.models.permissions import Permissions
|
from atst.models.permissions import Permissions
|
||||||
from atst.domain.exceptions import UnauthorizedError
|
from atst.domain.exceptions import UnauthorizedError
|
||||||
|
|
||||||
@ -5,8 +6,8 @@ from atst.domain.exceptions import UnauthorizedError
|
|||||||
class Authorization(object):
|
class Authorization(object):
|
||||||
@classmethod
|
@classmethod
|
||||||
def has_portfolio_permission(cls, user, portfolio, permission):
|
def has_portfolio_permission(cls, user, portfolio, permission):
|
||||||
port_role = next(
|
port_role = first_or_none(
|
||||||
(pr for pr in user.portfolio_roles if pr.portfolio == portfolio), None
|
lambda pr: pr.portfolio == portfolio, user.portfolio_roles
|
||||||
)
|
)
|
||||||
if port_role:
|
if port_role:
|
||||||
return permission in port_role.permissions
|
return permission in port_role.permissions
|
||||||
|
Loading…
x
Reference in New Issue
Block a user