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): class UpdateMemberForm(Form):
workspace_role = SelectField( 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) first_name = Column(String)
last_name = Column(String) last_name = Column(String)
@property
def role(self):
return self.atat_role.name
@property @property
def atat_permissions(self): def atat_permissions(self):
return self.atat_role.permissions return self.atat_role.permissions

View File

@ -134,7 +134,7 @@ def view_member(workspace_id, member_id):
"edit this workspace user", "edit this workspace user",
) )
member = WorkspaceUsers.get(workspace_id, member_id) member = WorkspaceUsers.get(workspace_id, member_id)
form = UpdateMemberForm(http_request.form) form = UpdateMemberForm(workspace_role=member.role)
return render_template( return render_template(
"member_edit.html", form=form, workspace=workspace, member=member "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) form = UpdateMemberForm(http_request.form)
if form.validate(): if form.validate():
if form.data["workspace_role"]:
role = form.data["workspace_role"]
else:
role = member.user.role
Workspaces.update_member( Workspaces.update_member(
g.current_user, workspace, member, form.data["workspace_role"] g.current_user, workspace, member, role
) )
return redirect( return redirect(
url_for( url_for(
"workspaces.workspace_members", "workspaces.workspace_members",
workspace_id=workspace.id, workspace_id=workspace.id,
memberName=member.user.full_name, memberName=member.user.full_name,
updatedRole=form.data["workspace_role"],
) )
) )
else: else:

View File

@ -33,10 +33,11 @@
) }} ) }}
{% endif %} {% endif %}
{% set updated_member_name = request.args.get("memberName") %} {% set member_name = request.args.get("memberName") %}
{% if updated_member_name %} {% set updated_role = request.args.get("updatedRole") %}
{% if updated_role %}
{% set message -%} {% 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 %} {%- endset %}
{{ Alert('Workspace role updated successfully', {{ Alert('Workspace role updated successfully',