add application permission sets
This commit is contained in:
parent
f1bd1eea7e
commit
0ac8c9632b
@ -18,6 +18,11 @@ class PermissionSets(object):
|
|||||||
PORTFOLIO_POC = "portfolio_poc"
|
PORTFOLIO_POC = "portfolio_poc"
|
||||||
VIEW_AUDIT_LOG = "view_audit_log"
|
VIEW_AUDIT_LOG = "view_audit_log"
|
||||||
|
|
||||||
|
VIEW_APPLICATION = "view_application"
|
||||||
|
EDIT_APPLICATION_ENVIRONMENTS = "edit_application_environments"
|
||||||
|
EDIT_APPLICATION_TEAM = "edit_application_team"
|
||||||
|
DELETE_APPLICATION_ENVIRONMENTS = "delete_application_environments"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get(cls, perms_set_name):
|
def get(cls, perms_set_name):
|
||||||
try:
|
try:
|
||||||
@ -85,6 +90,8 @@ _PORTFOLIO_APP_MGMT_PERMISSION_SETS = [
|
|||||||
Permissions.CREATE_APPLICATION_MEMBER,
|
Permissions.CREATE_APPLICATION_MEMBER,
|
||||||
Permissions.EDIT_ENVIRONMENT,
|
Permissions.EDIT_ENVIRONMENT,
|
||||||
Permissions.CREATE_ENVIRONMENT,
|
Permissions.CREATE_ENVIRONMENT,
|
||||||
|
Permissions.DELETE_ENVIRONMENT,
|
||||||
|
Permissions.ASSIGN_ENVIRONMENT_MEMBER,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -167,3 +174,51 @@ PORTFOLIO_PERMISSION_SETS = (
|
|||||||
+ _PORTFOLIO_ADMIN_PERMISSION_SETS
|
+ _PORTFOLIO_ADMIN_PERMISSION_SETS
|
||||||
+ _PORTFOLIO_POC_PERMISSION_SETS
|
+ _PORTFOLIO_POC_PERMISSION_SETS
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_APPLICATION_BASIC_PERMISSION_SET = {
|
||||||
|
"name": PermissionSets.VIEW_APPLICATION,
|
||||||
|
"description": "View application data",
|
||||||
|
"display_name": "View applications",
|
||||||
|
"permissions": [
|
||||||
|
Permissions.VIEW_APPLICATION,
|
||||||
|
Permissions.VIEW_APPLICATION_MEMBER,
|
||||||
|
Permissions.VIEW_ENVIRONMENT,
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
# need perm to assign and unassign users to environments
|
||||||
|
_APPLICATION_ENVIRONMENTS_PERMISSION_SET = {
|
||||||
|
"name": PermissionSets.EDIT_APPLICATION_ENVIRONMENTS,
|
||||||
|
"description": "Manage environments for an application",
|
||||||
|
"display_name": "Manage environments",
|
||||||
|
"permissions": [
|
||||||
|
Permissions.EDIT_ENVIRONMENT,
|
||||||
|
Permissions.CREATE_ENVIRONMENT,
|
||||||
|
Permissions.ASSIGN_ENVIRONMENT_MEMBER,
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
_APPLICATION_TEAM_PERMISSION_SET = {
|
||||||
|
"name": PermissionSets.EDIT_APPLICATION_TEAM,
|
||||||
|
"description": "Manage team members for an application",
|
||||||
|
"display_name": "Manage team",
|
||||||
|
"permissions": [
|
||||||
|
Permissions.EDIT_APPLICATION_MEMBER,
|
||||||
|
Permissions.CREATE_APPLICATION_MEMBER,
|
||||||
|
Permissions.ASSIGN_ENVIRONMENT_MEMBER,
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
_APPLICATION_ENVIRONMENT_DELETE_PERMISSION_SET = {
|
||||||
|
"name": PermissionSets.DELETE_APPLICATION_ENVIRONMENTS,
|
||||||
|
"description": "Delete environments within an application",
|
||||||
|
"display_name": "Delete environments",
|
||||||
|
"permissions": [Permissions.DELETE_ENVIRONMENT],
|
||||||
|
}
|
||||||
|
|
||||||
|
APPLICATION_PERMISSION_SETS = [
|
||||||
|
_APPLICATION_BASIC_PERMISSION_SET,
|
||||||
|
_APPLICATION_TEAM_PERMISSION_SET,
|
||||||
|
_APPLICATION_ENVIRONMENTS_PERMISSION_SET,
|
||||||
|
_APPLICATION_ENVIRONMENT_DELETE_PERMISSION_SET,
|
||||||
|
]
|
||||||
|
@ -14,6 +14,8 @@ class Permissions(object):
|
|||||||
VIEW_ENVIRONMENT = "view_environment"
|
VIEW_ENVIRONMENT = "view_environment"
|
||||||
EDIT_ENVIRONMENT = "edit_environment"
|
EDIT_ENVIRONMENT = "edit_environment"
|
||||||
CREATE_ENVIRONMENT = "create_environment"
|
CREATE_ENVIRONMENT = "create_environment"
|
||||||
|
DELETE_ENVIRONMENT = "delete_environment"
|
||||||
|
ASSIGN_ENVIRONMENT_MEMBER = "assign_environment_member"
|
||||||
|
|
||||||
# funding
|
# funding
|
||||||
VIEW_PORTFOLIO_FUNDING = "view_portfolio_funding" # TO summary page
|
VIEW_PORTFOLIO_FUNDING = "view_portfolio_funding" # TO summary page
|
||||||
|
@ -9,12 +9,18 @@ sys.path.append(parent_dir)
|
|||||||
from sqlalchemy.orm.exc import NoResultFound
|
from sqlalchemy.orm.exc import NoResultFound
|
||||||
from atst.app import make_config, make_app
|
from atst.app import make_config, make_app
|
||||||
from atst.database import db
|
from atst.database import db
|
||||||
from atst.models import PermissionSet, Permissions
|
from atst.models import PermissionSet
|
||||||
from atst.domain.permission_sets import ATAT_PERMISSION_SETS, PORTFOLIO_PERMISSION_SETS
|
from atst.domain.permission_sets import (
|
||||||
|
ATAT_PERMISSION_SETS,
|
||||||
|
PORTFOLIO_PERMISSION_SETS,
|
||||||
|
APPLICATION_PERMISSION_SETS,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def seed_roles():
|
def seed_roles():
|
||||||
for permission_set_info in ATAT_PERMISSION_SETS + PORTFOLIO_PERMISSION_SETS:
|
for permission_set_info in (
|
||||||
|
ATAT_PERMISSION_SETS + PORTFOLIO_PERMISSION_SETS + APPLICATION_PERMISSION_SETS
|
||||||
|
):
|
||||||
permission_set = PermissionSet(**permission_set_info)
|
permission_set = PermissionSet(**permission_set_info)
|
||||||
try:
|
try:
|
||||||
existing_permission_set = (
|
existing_permission_set = (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user