Make form class for updating application member
This commit is contained in:
parent
4cafa513a2
commit
1fd2d9f496
@ -71,3 +71,43 @@ class NewForm(BaseForm):
|
||||
user_data = FormField(BaseNewMemberForm)
|
||||
permission_sets = FormField(PermissionsForm)
|
||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
||||
|
||||
|
||||
class UpdatePermissionsForm(FlaskForm):
|
||||
perms_team_mgmt = SelectField(
|
||||
translate("portfolios.applications.members.new.manage_team"),
|
||||
choices=[
|
||||
(PermissionSets.VIEW_APPLICATION, "View"),
|
||||
(PermissionSets.EDIT_APPLICATION_TEAM, "Edit"),
|
||||
],
|
||||
)
|
||||
perms_env_mgmt = SelectField(
|
||||
translate("portfolios.applications.members.new.manage_envs"),
|
||||
choices=[
|
||||
(PermissionSets.VIEW_APPLICATION, "View"),
|
||||
(PermissionSets.EDIT_APPLICATION_ENVIRONMENTS, "Edit"),
|
||||
],
|
||||
)
|
||||
perms_del_env = SelectField(
|
||||
choices=[
|
||||
(PermissionSets.VIEW_APPLICATION, "No"),
|
||||
(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS, "Yes"),
|
||||
]
|
||||
)
|
||||
|
||||
@property
|
||||
def data(self):
|
||||
_data = super().data
|
||||
_data.pop("csrf_token", None)
|
||||
permission_sets = []
|
||||
for field in _data:
|
||||
if _data[field] is not None:
|
||||
permission_sets.append(_data[field])
|
||||
|
||||
return permission_sets
|
||||
|
||||
|
||||
class UpdateMemberForm(BaseForm):
|
||||
member_role_id = HiddenField()
|
||||
permission_sets = FormField(UpdatePermissionsForm)
|
||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
||||
|
@ -1,5 +1,6 @@
|
||||
from wtforms.validators import ValidationError
|
||||
|
||||
from atst.domain.permission_sets import PermissionSets
|
||||
from atst.forms.data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||
from atst.forms.application_member import *
|
||||
|
||||
@ -34,3 +35,21 @@ def test_environment_form_invalid():
|
||||
}
|
||||
form = EnvironmentForm(data=form_data)
|
||||
assert not form.validate()
|
||||
|
||||
|
||||
def test_update_member_form():
|
||||
form_data = {
|
||||
"member_role_id": 123,
|
||||
"permission_sets": {
|
||||
"perms_team_mgmt": PermissionSets.EDIT_APPLICATION_TEAM,
|
||||
"perms_env_mgmt": PermissionSets.VIEW_APPLICATION,
|
||||
"perms_del_env": PermissionSets.VIEW_APPLICATION,
|
||||
},
|
||||
"environment_roles": {
|
||||
"environment_id": 123,
|
||||
"environment_name": "testing",
|
||||
"role": ENV_ROLES[0][0],
|
||||
},
|
||||
}
|
||||
form = UpdateMemberForm(data=form_data)
|
||||
assert form.validate()
|
||||
|
Loading…
x
Reference in New Issue
Block a user