Allow user to save without changing user's role

This commit is contained in:
Montana 2018-09-05 13:51:07 -04:00
parent 1b8233af89
commit 109249d953
4 changed files with 16 additions and 6 deletions

View File

@ -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()]
)

View File

@ -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

View File

@ -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:

View File

@ -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 -%}
<p>{{ updated_member_name }}'s role was successfully updated.</p>
<p>{{ member_name }}'s role was successfully updated to {{ updated_role }}</p>
{%- endset %}
{{ Alert('Workspace role updated successfully',