Move environment role method into domain

This commit is contained in:
Montana 2018-09-21 11:14:30 -04:00
parent 6d50c228af
commit e12c1f42db
4 changed files with 21 additions and 4 deletions

View File

@ -0,0 +1,16 @@
from atst.models.environment_role import EnvironmentRole
from atst.database import db
class EnvironmentRoles(object):
@classmethod
def get(cls, user_id, environment_id):
existing_env_role = (
db.session.query(EnvironmentRole)
.filter(
EnvironmentRole.user_id == user_id,
EnvironmentRole.environment_id == environment_id,
)
.one_or_none()
)
return existing_env_role

View File

@ -6,6 +6,7 @@ from atst.models.environment_role import EnvironmentRole, CSPRole
from atst.models.project import Project
from atst.models.permissions import Permissions
from atst.domain.authz import Authorization
from atst.domain.environment_roles import EnvironmentRoles
from .exceptions import NotFoundError
@ -67,7 +68,7 @@ class Environments(object):
for id_and_role in ids_and_roles:
new_role = id_and_role["role"]
environment = Environments.get(id_and_role["id"])
env_role = EnvironmentRole.get(workspace_user.user_id, id_and_role["id"])
env_role = EnvironmentRoles.get(workspace_user.user_id, id_and_role["id"])
if env_role:
env_role.role = new_role
else:

View File

@ -16,7 +16,7 @@ from atst.domain.reports import Reports
from atst.domain.workspaces import Workspaces
from atst.domain.workspace_users import WorkspaceUsers
from atst.domain.environments import Environments
from atst.models.environment_role import EnvironmentRole
from atst.domain.environment_roles import EnvironmentRoles
from atst.forms.new_project import NewProjectForm
from atst.forms.new_member import NewMemberForm
from atst.forms.edit_member import EditMemberForm
@ -224,7 +224,7 @@ def view_member(workspace_id, member_id):
member=member,
projects=projects,
form=form,
EnvironmentRole=EnvironmentRole,
EnvironmentRoles=EnvironmentRoles,
)

View File

@ -64,7 +64,7 @@
<ul v-show='isVisible'>
{% for env in project.environments %}
{% set role = EnvironmentRole.get(member.user_id, env.id).role %}
{% set role = EnvironmentRoles.get(member.user_id, env.id).role %}
<li class='block-list__item'>
<edit-workspace-member inline-template initial-data='{{ role }}' v-bind:choices='{{ form.environment_role.choices | tojson }}'>