Merge pull request #857 from dod-ccpo/new-portfolio-workflow
New Portfolio Workflow
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
from datetime import date, timedelta
|
||||
|
||||
from flask import render_template, request as http_request, g
|
||||
from flask import redirect, render_template, url_for, request as http_request, g
|
||||
|
||||
from . import portfolios_bp
|
||||
from atst.forms.portfolio import PortfolioCreationForm
|
||||
from atst.domain.reports import Reports
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.models.permissions import Permissions
|
||||
@@ -19,6 +20,26 @@ def portfolios():
|
||||
return render_template("portfolios/blank_slate.html")
|
||||
|
||||
|
||||
@portfolios_bp.route("/portfolios/new")
|
||||
def new_portfolio():
|
||||
form = PortfolioCreationForm()
|
||||
|
||||
return render_template("portfolios/new.html", form=form)
|
||||
|
||||
|
||||
@portfolios_bp.route("/portfolios", methods=["POST"])
|
||||
def create_portfolio():
|
||||
form = PortfolioCreationForm(http_request.form)
|
||||
|
||||
if form.validate():
|
||||
portfolio = Portfolios.create(user=g.current_user, portfolio_attrs=form.data)
|
||||
return redirect(
|
||||
url_for("applications.portfolio_applications", portfolio_id=portfolio.id)
|
||||
)
|
||||
else:
|
||||
return render_template("portfolios/new.html", form=form), 400
|
||||
|
||||
|
||||
@portfolios_bp.route("/portfolios/<portfolio_id>/reports")
|
||||
@user_can(Permissions.VIEW_PORTFOLIO_REPORTS, message="view portfolio reports")
|
||||
def reports(portfolio_id):
|
||||
|
||||
@@ -242,9 +242,11 @@ class UpdateTaskOrderWorkflow(ShowTaskOrderWorkflow):
|
||||
pf = Portfolios.get(self.user, self.portfolio_id)
|
||||
else:
|
||||
pf = Portfolios.create(
|
||||
self.user,
|
||||
self.form.portfolio_name.data,
|
||||
self.form.defense_component.data,
|
||||
user=self.user,
|
||||
portfolio_attrs={
|
||||
"name": self.form.portfolio_name.data,
|
||||
"defense_component": self.form.defense_component.data,
|
||||
},
|
||||
)
|
||||
self._task_order = TaskOrders.create(portfolio=pf, creator=self.user)
|
||||
TaskOrders.update(self.task_order, **self.task_order_form_data)
|
||||
|
||||
Reference in New Issue
Block a user