Create environments while creating project

This commit is contained in:
richard-dds 2018-08-22 17:00:05 -04:00
parent fc07ef5230
commit 8ac271e83e
3 changed files with 18 additions and 4 deletions

View File

@ -10,3 +10,9 @@ class Environments(object):
db.session.commit()
return environment
@classmethod
def create_many(cls, project, names):
for name in names:
environment = Environment(project=project, name=name)
db.session.add(environment)
db.session.commit()

View File

@ -1,11 +1,13 @@
from atst.database import db
from atst.models.project import Project
from atst.domain.environments import Environments
class Projects(object):
@classmethod
def create(cls, workspace, name, description):
def create(cls, workspace, name, description, environment_names):
project = Project(workspace=workspace, name=name, description=description)
Environments.create_many(project, environment_names)
db.session.add(project)
db.session.commit()

View File

@ -67,10 +67,16 @@ def update_project(workspace_id):
if form.validate():
project_data = form.data
project = Projects.create(
workspace, project_data["name"], project_data["description"]
Projects.create(
workspace,
project_data["name"],
project_data["description"],
project_data["environment_names"],
)
Environments.create(project, project_data["environment_name"])
return redirect(
url_for("workspaces.workspace_projects", workspace_id=workspace.id)
)
else:
return render_template(
"workspace_project_new.html", workspace=workspace, form=form
)