Merge pull request #815 from dod-ccpo/add-new-env-app-settings

Add New Environment via app settings
This commit is contained in:
montana-mil
2019-05-15 11:30:29 -04:00
committed by GitHub
14 changed files with 193 additions and 48 deletions

View File

@@ -85,20 +85,33 @@ def check_users_are_in_application(user_ids, application):
return True
@applications_bp.route("/applications/<application_id>/settings")
@user_can(Permissions.VIEW_APPLICATION, message="view application edit form")
def settings(application_id):
application = Applications.get(application_id)
form = ApplicationForm(name=application.name, description=application.description)
def render_settings_page(application, **kwargs):
environments_obj = get_environments_obj_for_app(application=application)
members_form = AppEnvRolesForm(data=data_for_app_env_roles_form(application))
new_env_form = EditEnvironmentForm()
if "application_form" not in kwargs:
kwargs["application_form"] = ApplicationForm(
name=application.name, description=application.description
)
return render_template(
"portfolios/applications/settings.html",
application=application,
form=form,
environments_obj=environments_obj,
members_form=members_form,
new_env_form=new_env_form,
**kwargs,
)
@applications_bp.route("/applications/<application_id>/settings")
@user_can(Permissions.VIEW_APPLICATION, message="view application edit form")
def settings(application_id):
application = Applications.get(application_id)
return render_settings_page(
application=application,
active_toggler=http_request.args.get("active_toggler"),
active_toggler_section=http_request.args.get("active_toggler_section"),
)
@@ -129,16 +142,8 @@ def update_environment(environment_id):
)
else:
return (
render_template(
"portfolios/applications/settings.html",
render_settings_page(
application=application,
form=ApplicationForm(
name=application.name, description=application.description
),
environments_obj=get_environments_obj_for_app(application=application),
members_form=AppEnvRolesForm(
data=data_for_app_env_roles_form(application)
),
active_toggler=environment.id,
active_toggler_section="edit",
),
@@ -146,6 +151,31 @@ def update_environment(environment_id):
)
@applications_bp.route(
"/applications/<application_id>/environments/new", methods=["POST"]
)
@user_can(Permissions.CREATE_ENVIRONMENT, message="create application environment")
def new_environment(application_id):
application = Applications.get(application_id)
env_form = EditEnvironmentForm(formdata=http_request.form)
if env_form.validate():
Environments.create(application=application, name=env_form.name.data)
flash("environment_added", environment_name=env_form.data["name"])
return redirect(
url_for(
"applications.settings",
application_id=application.id,
fragment="application-environments",
_anchor="application-environments",
)
)
else:
return (render_settings_page(application=application), 400)
@applications_bp.route("/applications/<application_id>/edit", methods=["POST"])
@user_can(Permissions.EDIT_APPLICATION, message="update application")
def update(application_id):
@@ -162,12 +192,7 @@ def update(application_id):
)
)
else:
return render_template(
"portfolios/applications/settings.html",
application=application,
form=form,
environments_obj=get_environments_obj_for_app(application=application),
)
return render_settings_page(application=application, application_form=form)
@applications_bp.route("/environments/<environment_id>/roles", methods=["POST"])
@@ -214,13 +239,8 @@ def update_env_roles(environment_id):
)
else:
return (
render_template(
"portfolios/applications/settings.html",
render_settings_page(
application=application,
form=ApplicationForm(
name=application.name, description=application.description
),
environments_obj=get_environments_obj_for_app(application=application),
active_toggler=environment.id,
active_toggler_section="edit",
),