Do not use mutable kwarg to set default permission set on application role
This commit is contained in:
parent
19a09b792e
commit
0736b229bf
@ -6,12 +6,11 @@ from atst.domain.permission_sets import PermissionSets
|
|||||||
class ApplicationRoles(object):
|
class ApplicationRoles(object):
|
||||||
@classmethod
|
@classmethod
|
||||||
def _permission_sets_for_names(cls, set_names):
|
def _permission_sets_for_names(cls, set_names):
|
||||||
|
set_names = set(set_names).union({PermissionSets.VIEW_APPLICATION})
|
||||||
return PermissionSets.get_many(set_names)
|
return PermissionSets.get_many(set_names)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(
|
def create(cls, user, application, permission_set_names):
|
||||||
cls, user, application, permission_set_names=[PermissionSets.VIEW_APPLICATION]
|
|
||||||
):
|
|
||||||
application_role = ApplicationRole(user=user, application_id=application.id)
|
application_role = ApplicationRole(user=user, application_id=application.id)
|
||||||
|
|
||||||
application_role.permission_sets = ApplicationRoles._permission_sets_for_names(
|
application_role.permission_sets = ApplicationRoles._permission_sets_for_names(
|
||||||
|
@ -33,7 +33,9 @@ class Environments(object):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def add_member(cls, environment, user, role):
|
def add_member(cls, environment, user, role):
|
||||||
ApplicationRoles.create(user=user, application=environment.application)
|
ApplicationRoles.create(
|
||||||
|
user=user, application=environment.application, permission_set_names=[]
|
||||||
|
)
|
||||||
environment_user = EnvironmentRoles.create(
|
environment_user = EnvironmentRoles.create(
|
||||||
user=user, environment=environment, role=role
|
user=user, environment=environment, role=role
|
||||||
)
|
)
|
||||||
|
@ -7,7 +7,6 @@ from atst.domain.applications import Applications
|
|||||||
from atst.forms.application import ApplicationForm
|
from atst.forms.application import ApplicationForm
|
||||||
from atst.forms.app_settings import EnvironmentRolesForm
|
from atst.forms.app_settings import EnvironmentRolesForm
|
||||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||||
from atst.domain.exceptions import UnauthorizedError
|
|
||||||
|
|
||||||
from atst.models.permissions import Permissions
|
from atst.models.permissions import Permissions
|
||||||
from atst.utils.flash import formatted_flash as flash
|
from atst.utils.flash import formatted_flash as flash
|
||||||
|
@ -14,7 +14,7 @@ def test_create_application_role():
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert application_role.permission_sets == PermissionSets.get_many(
|
assert application_role.permission_sets == PermissionSets.get_many(
|
||||||
[PermissionSets.EDIT_APPLICATION_TEAM]
|
[PermissionSets.EDIT_APPLICATION_TEAM, PermissionSets.VIEW_APPLICATION]
|
||||||
)
|
)
|
||||||
assert application_role.application == application
|
assert application_role.application == application
|
||||||
assert application_role.user == user
|
assert application_role.user == user
|
||||||
|
Loading…
x
Reference in New Issue
Block a user