Use user.id to check if user is in application

This commit is contained in:
Montana 2019-04-29 11:04:17 -04:00
parent fec4687c02
commit 19a09b792e
5 changed files with 9 additions and 7 deletions

View File

@ -7,7 +7,7 @@ from atst.models import EnvironmentRole
class EnvironmentRoles(object):
@classmethod
def create(cls, user, environment, role):
if environment.application.has_member(user):
if environment.application.has_member(user.id):
env_role = EnvironmentRole(user=user, environment=environment, role=role)
if not user.cloud_id:
user.cloud_id = app.csp.cloud.create_user(user)

View File

@ -68,7 +68,7 @@ class Environments(object):
def update_env_role(cls, environment, user, new_role):
updated = False
if environment.application.has_member(user):
if environment.application.has_member(user.id):
if new_role is None:
updated = EnvironmentRoles.delete(user.id, environment.id)
else:

View File

@ -9,7 +9,6 @@ from atst.models.application_role import (
ApplicationRole,
Status as ApplicationRoleStatuses,
)
from atst.database import db
@ -52,8 +51,9 @@ class Application(
def displayname(self):
return self.name
def has_member(self, user):
return user in self.users
def has_member(self, user_id):
user_ids = set(str(user.id) for user in self.users)
return str(user_id) in user_ids
def __repr__(self): # pragma: no cover
return "<Application(name='{}', description='{}', portfolio='{}', id='{}')>".format(

View File

@ -7,6 +7,8 @@ from atst.domain.applications import Applications
from atst.forms.application import ApplicationForm
from atst.forms.app_settings import EnvironmentRolesForm
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.utils.flash import formatted_flash as flash

View File

@ -45,10 +45,10 @@ def test_has_app_member():
user = UserFactory.create()
app = ApplicationFactory.create()
ApplicationRoleFactory.create(user=user, application=app)
assert app.has_member(user)
assert app.has_member(user.id)
def test_does_not_have_app_member():
user = UserFactory.create()
app = ApplicationFactory.create()
assert not app.has_member(user)
assert not app.has_member(user.id)