Move environment role method into domain
This commit is contained in:
parent
6d50c228af
commit
e12c1f42db
16
atst/domain/environment_roles.py
Normal file
16
atst/domain/environment_roles.py
Normal 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
|
@ -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:
|
||||
|
@ -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,
|
||||
)
|
||||
|
||||
|
||||
|
@ -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 }}'>
|
||||
|
Loading…
x
Reference in New Issue
Block a user