diff --git a/atst/forms/update_member.py b/atst/forms/update_member.py index e569d05b..2d60d33d 100644 --- a/atst/forms/update_member.py +++ b/atst/forms/update_member.py @@ -9,5 +9,5 @@ from .data import WORKSPACE_ROLES class UpdateMemberForm(Form): workspace_role = SelectField( - "Workspace Role", choices=WORKSPACE_ROLES, validators=[Optional()], default="" + "Workspace Role", choices=WORKSPACE_ROLES, validators=[Optional()] ) diff --git a/atst/models/user.py b/atst/models/user.py index 643fd3f5..0d8f0dc6 100644 --- a/atst/models/user.py +++ b/atst/models/user.py @@ -21,6 +21,10 @@ 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 3be5c097..80f35741 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -134,7 +134,7 @@ def view_member(workspace_id, member_id): "edit this workspace user", ) member = WorkspaceUsers.get(workspace_id, member_id) - form = UpdateMemberForm(http_request.form) + form = UpdateMemberForm(workspace_role=member.role) return render_template( "member_edit.html", form=form, workspace=workspace, member=member ) @@ -155,14 +155,19 @@ def update_member(workspace_id, member_id): form = UpdateMemberForm(http_request.form) if form.validate(): + if form.data["workspace_role"]: + role = form.data["workspace_role"] + else: + role = member.user.role Workspaces.update_member( - g.current_user, workspace, member, form.data["workspace_role"] + 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"], ) ) else: diff --git a/templates/workspace_members.html b/templates/workspace_members.html index 0c1f3c7e..34761341 100644 --- a/templates/workspace_members.html +++ b/templates/workspace_members.html @@ -33,10 +33,11 @@ ) }} {% endif %} -{% set updated_member_name = request.args.get("memberName") %} -{% if updated_member_name %} +{% set member_name = request.args.get("memberName") %} +{% set updated_role = request.args.get("updatedRole") %} +{% if updated_role %} {% set message -%} -
{{ updated_member_name }}'s role was successfully updated.
+{{ member_name }}'s role was successfully updated to {{ updated_role }}
{%- endset %} {{ Alert('Workspace role updated successfully',