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)
|
user_data = FormField(BaseNewMemberForm)
|
||||||
permission_sets = FormField(PermissionsForm)
|
permission_sets = FormField(PermissionsForm)
|
||||||
environment_roles = FieldList(FormField(EnvironmentForm))
|
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 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.data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||||
from atst.forms.application_member import *
|
from atst.forms.application_member import *
|
||||||
|
|
||||||
@ -34,3 +35,21 @@ def test_environment_form_invalid():
|
|||||||
}
|
}
|
||||||
form = EnvironmentForm(data=form_data)
|
form = EnvironmentForm(data=form_data)
|
||||||
assert not form.validate()
|
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