Create route for updating app member

This commit is contained in:
leigh-mil
2019-09-13 12:18:49 -04:00
parent ee0e6c7200
commit 93530e903f
6 changed files with 112 additions and 12 deletions

View File

@@ -1,11 +1,9 @@
from flask_wtf import FlaskForm
from wtforms.fields import FormField, FieldList, HiddenField, BooleanField
from wtforms import Form
from .forms import BaseForm
from .member import NewForm as BaseNewMemberForm
from .data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
from atst.domain.permission_sets import PermissionSets
from atst.forms.fields import SelectField
from atst.utils.localization import translate

View File

@@ -14,9 +14,7 @@ from atst.forms.application_member import (
UpdateMemberForm,
PermissionsForm,
)
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
from atst.domain.authz.decorator import user_can_access_decorator as user_can
from atst.models.environment_role import CSPRole
from atst.models.permissions import Permissions
from atst.domain.permission_sets import PermissionSets
from atst.utils.flash import formatted_flash as flash
@@ -346,4 +344,27 @@ def remove_member(application_id, application_role_id):
)
@user_can(Permissions.EDIT_APPLICATION_MEMBER, message="update application member")
def update_member(application_id, application_role_id):
return redirect(url_for("applications.settings", application_id=g.application.id))
app_role = ApplicationRoles.get_by_id(application_role_id)
form = UpdateMemberForm(http_request.form)
if form.validate():
new_perm_sets_names = perm_sets_obj_to_list(form.permission_sets.data)
ApplicationRoles.update_permission_sets(app_role, new_perm_sets_names)
for env_role in form.environment_roles:
environment = Environments.get(env_role.environment_id.data)
Environments.update_env_role(environment, app_role, env_role.data["role"])
flash("application_member_updated", user_name=app_role.user_name)
else:
pass
# TODO: flash error message
return redirect(
url_for(
"applications.settings",
application_id=application_id,
fragment="application-members",
_anchor="application-members",
)
)

View File

@@ -7,11 +7,6 @@ MESSAGES = {
"message_template": "Portfolio '{{portfolio_name}}' has been deleted",
"category": "success",
},
"application_environment_members_updated": {
"title_template": "Application environment members updated",
"message_template": "Application environment members have been updated",
"category": "success",
},
"application_deleted": {
"title_template": translate("flash.success"),
"message_template": """
@@ -30,6 +25,11 @@ MESSAGES = {
"message_template": "You have successfully deleted {{ user_name }} from {{ application_name }}",
"category": "success",
},
"application_member_updated": {
"title_template": "Team member updated",
"message_template": "You have successfully updated the permissions for {{ user_name }}",
"category": "success",
},
"ccpo_user_added": {
"title_template": translate("flash.success"),
"message_template": "You have successfully given {{ user_name }} CCPO permissions.",