Move environment role method into domain
This commit is contained in:
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.project import Project
|
||||||
from atst.models.permissions import Permissions
|
from atst.models.permissions import Permissions
|
||||||
from atst.domain.authz import Authorization
|
from atst.domain.authz import Authorization
|
||||||
|
from atst.domain.environment_roles import EnvironmentRoles
|
||||||
|
|
||||||
from .exceptions import NotFoundError
|
from .exceptions import NotFoundError
|
||||||
|
|
||||||
@@ -67,7 +68,7 @@ class Environments(object):
|
|||||||
for id_and_role in ids_and_roles:
|
for id_and_role in ids_and_roles:
|
||||||
new_role = id_and_role["role"]
|
new_role = id_and_role["role"]
|
||||||
environment = Environments.get(id_and_role["id"])
|
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:
|
if env_role:
|
||||||
env_role.role = new_role
|
env_role.role = new_role
|
||||||
else:
|
else:
|
||||||
|
@@ -16,7 +16,7 @@ from atst.domain.reports import Reports
|
|||||||
from atst.domain.workspaces import Workspaces
|
from atst.domain.workspaces import Workspaces
|
||||||
from atst.domain.workspace_users import WorkspaceUsers
|
from atst.domain.workspace_users import WorkspaceUsers
|
||||||
from atst.domain.environments import Environments
|
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_project import NewProjectForm
|
||||||
from atst.forms.new_member import NewMemberForm
|
from atst.forms.new_member import NewMemberForm
|
||||||
from atst.forms.edit_member import EditMemberForm
|
from atst.forms.edit_member import EditMemberForm
|
||||||
@@ -224,7 +224,7 @@ def view_member(workspace_id, member_id):
|
|||||||
member=member,
|
member=member,
|
||||||
projects=projects,
|
projects=projects,
|
||||||
form=form,
|
form=form,
|
||||||
EnvironmentRole=EnvironmentRole,
|
EnvironmentRoles=EnvironmentRoles,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -64,7 +64,7 @@
|
|||||||
<ul v-show='isVisible'>
|
<ul v-show='isVisible'>
|
||||||
{% for env in project.environments %}
|
{% 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'>
|
<li class='block-list__item'>
|
||||||
<edit-workspace-member inline-template initial-data='{{ role }}' v-bind:choices='{{ form.environment_role.choices | tojson }}'>
|
<edit-workspace-member inline-template initial-data='{{ role }}' v-bind:choices='{{ form.environment_role.choices | tojson }}'>
|
||||||
|
Reference in New Issue
Block a user