diff --git a/atst/domain/workspaces.py b/atst/domain/workspaces.py index ccdbcd3c..c1af06ea 100644 --- a/atst/domain/workspaces.py +++ b/atst/domain/workspaces.py @@ -39,10 +39,7 @@ class Workspaces(object): def get_for_update(cls, user, workspace_id): workspace = Workspaces.get(user, workspace_id) Authorization.check_workspace_permission( - user, - workspace, - Permissions.ADD_APPLICATION_IN_WORKSPACE, - "add project", + user, workspace, Permissions.ADD_APPLICATION_IN_WORKSPACE, "add project" ) return workspace @@ -92,7 +89,7 @@ class Workspaces(object): user, workspace, Permissions.ASSIGN_AND_UNASSIGN_ATAT_ROLE, - "update workspace member", + "edit workspace member", ) return WorkspaceUsers.update_role(member, workspace.id, role_name) diff --git a/atst/forms/update_member.py b/atst/forms/edit_member.py similarity index 89% rename from atst/forms/update_member.py rename to atst/forms/edit_member.py index 2d60d33d..e76df6d0 100644 --- a/atst/forms/update_member.py +++ b/atst/forms/edit_member.py @@ -6,7 +6,7 @@ from atst.forms.fields import SelectField from .data import WORKSPACE_ROLES -class UpdateMemberForm(Form): +class EditMemberForm(Form): workspace_role = SelectField( "Workspace Role", choices=WORKSPACE_ROLES, validators=[Optional()] diff --git a/atst/models/user.py b/atst/models/user.py index 0d8f0dc6..643fd3f5 100644 --- a/atst/models/user.py +++ b/atst/models/user.py @@ -21,10 +21,6 @@ class User(Base): first_name = Column(String) last_name = Column(String) - @property - def role(self): - return self.atat_role.name - @property def atat_permissions(self): return self.atat_role.permissions diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index 80f35741..5ded0500 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -13,8 +13,7 @@ from atst.domain.workspace_users import WorkspaceUsers from atst.domain.projects import Projects from atst.forms.new_project import NewProjectForm from atst.forms.new_member import NewMemberForm -from atst.forms.update_member import UpdateMemberForm -from atst.forms.forms import ValidatedForm +from atst.forms.edit_member import EditMemberForm from atst.domain.authz import Authorization from atst.models.permissions import Permissions @@ -117,7 +116,7 @@ def create_member(workspace_id): url_for( "workspaces.workspace_members", workspace_id=workspace.id, - newMemberName=new_member.user.full_name, + newMemberName=new_member.user_name, ) ) else: @@ -134,7 +133,7 @@ def view_member(workspace_id, member_id): "edit this workspace user", ) member = WorkspaceUsers.get(workspace_id, member_id) - form = UpdateMemberForm(workspace_role=member.role) + form = EditMemberForm(workspace_role=member.role) return render_template( "member_edit.html", form=form, workspace=workspace, member=member ) @@ -152,22 +151,20 @@ def update_member(workspace_id, member_id): "edit this workspace user", ) member = WorkspaceUsers.get(workspace_id, member_id) - form = UpdateMemberForm(http_request.form) + form = EditMemberForm(http_request.form) if form.validate(): - if form.data["workspace_role"]: + role = None + if form.data["workspace_role"] != member.role: role = form.data["workspace_role"] - else: - role = member.user.role - Workspaces.update_member( - g.current_user, workspace, member, role - ) + Workspaces.update_member(g.current_user, workspace, member, role) + return redirect( url_for( "workspaces.workspace_members", workspace_id=workspace.id, - memberName=member.user.full_name, - updatedRole=form.data["workspace_role"], + memberName=member.user_name, + updatedRole=role, ) ) else: