Use user.id to check if user is in application
This commit is contained in:
parent
fec4687c02
commit
19a09b792e
@ -7,7 +7,7 @@ from atst.models import EnvironmentRole
|
|||||||
class EnvironmentRoles(object):
|
class EnvironmentRoles(object):
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls, user, environment, role):
|
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)
|
env_role = EnvironmentRole(user=user, environment=environment, role=role)
|
||||||
if not user.cloud_id:
|
if not user.cloud_id:
|
||||||
user.cloud_id = app.csp.cloud.create_user(user)
|
user.cloud_id = app.csp.cloud.create_user(user)
|
||||||
|
@ -68,7 +68,7 @@ class Environments(object):
|
|||||||
def update_env_role(cls, environment, user, new_role):
|
def update_env_role(cls, environment, user, new_role):
|
||||||
updated = False
|
updated = False
|
||||||
|
|
||||||
if environment.application.has_member(user):
|
if environment.application.has_member(user.id):
|
||||||
if new_role is None:
|
if new_role is None:
|
||||||
updated = EnvironmentRoles.delete(user.id, environment.id)
|
updated = EnvironmentRoles.delete(user.id, environment.id)
|
||||||
else:
|
else:
|
||||||
|
@ -9,7 +9,6 @@ from atst.models.application_role import (
|
|||||||
ApplicationRole,
|
ApplicationRole,
|
||||||
Status as ApplicationRoleStatuses,
|
Status as ApplicationRoleStatuses,
|
||||||
)
|
)
|
||||||
|
|
||||||
from atst.database import db
|
from atst.database import db
|
||||||
|
|
||||||
|
|
||||||
@ -52,8 +51,9 @@ class Application(
|
|||||||
def displayname(self):
|
def displayname(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def has_member(self, user):
|
def has_member(self, user_id):
|
||||||
return user in self.users
|
user_ids = set(str(user.id) for user in self.users)
|
||||||
|
return str(user_id) in user_ids
|
||||||
|
|
||||||
def __repr__(self): # pragma: no cover
|
def __repr__(self): # pragma: no cover
|
||||||
return "<Application(name='{}', description='{}', portfolio='{}', id='{}')>".format(
|
return "<Application(name='{}', description='{}', portfolio='{}', id='{}')>".format(
|
||||||
|
@ -7,6 +7,8 @@ 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
|
||||||
|
|
||||||
|
@ -45,10 +45,10 @@ def test_has_app_member():
|
|||||||
user = UserFactory.create()
|
user = UserFactory.create()
|
||||||
app = ApplicationFactory.create()
|
app = ApplicationFactory.create()
|
||||||
ApplicationRoleFactory.create(user=user, application=app)
|
ApplicationRoleFactory.create(user=user, application=app)
|
||||||
assert app.has_member(user)
|
assert app.has_member(user.id)
|
||||||
|
|
||||||
|
|
||||||
def test_does_not_have_app_member():
|
def test_does_not_have_app_member():
|
||||||
user = UserFactory.create()
|
user = UserFactory.create()
|
||||||
app = ApplicationFactory.create()
|
app = ApplicationFactory.create()
|
||||||
assert not app.has_member(user)
|
assert not app.has_member(user.id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user