Do not use mutable kwarg to set default permission set on application role

This commit is contained in:
Montana 2019-04-29 11:30:43 -04:00
parent 19a09b792e
commit 0736b229bf
4 changed files with 6 additions and 6 deletions

View File

@ -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(

View File

@ -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
) )

View File

@ -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

View File

@ -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