mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-12 20:49:41 +02:00
Merge pull request #2945 from cisagov/dk/2763-member-expand
#2763: Expanded row functionality
This commit is contained in:
commit
fd9eb0da58
11 changed files with 668 additions and 125 deletions
|
@ -92,16 +92,18 @@ class UserPortfolioPermission(TimeStampedModel):
|
|||
"""
|
||||
Retrieve the permissions for the user's portfolio roles.
|
||||
"""
|
||||
return self.get_portfolio_permissions(self.roles, self.additional_permissions)
|
||||
|
||||
@classmethod
|
||||
def get_portfolio_permissions(cls, roles, additional_permissions):
|
||||
"""Class method to return a list of permissions based on roles and addtl permissions"""
|
||||
# Use a set to avoid duplicate permissions
|
||||
portfolio_permissions = set()
|
||||
|
||||
if self.roles:
|
||||
for role in self.roles:
|
||||
portfolio_permissions.update(self.PORTFOLIO_ROLE_PERMISSIONS.get(role, []))
|
||||
|
||||
if self.additional_permissions:
|
||||
portfolio_permissions.update(self.additional_permissions)
|
||||
|
||||
if roles:
|
||||
for role in roles:
|
||||
portfolio_permissions.update(cls.PORTFOLIO_ROLE_PERMISSIONS.get(role, []))
|
||||
if additional_permissions:
|
||||
portfolio_permissions.update(additional_permissions)
|
||||
return list(portfolio_permissions)
|
||||
|
||||
def clean(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue