Do not pass portfolio to render_template calls in portfolio context.

The context processor in the init file for the portfolio routes takes
care of this. Also eliminates any unnecessary portfolio lookups in the
route functions.
This commit is contained in:
dandds 2019-04-16 06:53:28 -04:00
parent 13a16dc83f
commit 5ea70a486a
5 changed files with 18 additions and 62 deletions

View File

@ -21,18 +21,14 @@ from atst.utils.flash import formatted_flash as flash
@portfolios_bp.route("/portfolios/<portfolio_id>/applications") @portfolios_bp.route("/portfolios/<portfolio_id>/applications")
@user_can(Permissions.VIEW_APPLICATION, message="view portfolio applications") @user_can(Permissions.VIEW_APPLICATION, message="view portfolio applications")
def portfolio_applications(portfolio_id): def portfolio_applications(portfolio_id):
portfolio = Portfolios.get(g.current_user, portfolio_id) return render_template("portfolios/applications/index.html")
return render_template("portfolios/applications/index.html", portfolio=portfolio)
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/new") @portfolios_bp.route("/portfolios/<portfolio_id>/applications/new")
@user_can(Permissions.CREATE_APPLICATION, message="view create new application form") @user_can(Permissions.CREATE_APPLICATION, message="view create new application form")
def new_application(portfolio_id): def new_application(portfolio_id):
portfolio = Portfolios.get_for_update(portfolio_id)
form = NewApplicationForm() form = NewApplicationForm()
return render_template( return render_template("portfolios/applications/new.html", form=form)
"portfolios/applications/new.html", portfolio=portfolio, form=form
)
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/new", methods=["POST"]) @portfolios_bp.route("/portfolios/<portfolio_id>/applications/new", methods=["POST"])
@ -50,12 +46,10 @@ def create_application(portfolio_id):
application_data["environment_names"], application_data["environment_names"],
) )
return redirect( return redirect(
url_for("portfolios.portfolio_applications", portfolio_id=portfolio.id) url_for("portfolios.portfolio_applications", portfolio_id=portfolio_id)
) )
else: else:
return render_template( return render_template("portfolios/applications/new.html", form=form)
"portfolios/applications/new.html", portfolio=portfolio, form=form
)
def get_environments_obj_for_app(application): def get_environments_obj_for_app(application):
@ -70,13 +64,11 @@ def get_environments_obj_for_app(application):
@portfolios_bp.route("/portfolios/<portfolio_id>/applications/<application_id>/edit") @portfolios_bp.route("/portfolios/<portfolio_id>/applications/<application_id>/edit")
@user_can(Permissions.EDIT_APPLICATION, message="view application edit form") @user_can(Permissions.EDIT_APPLICATION, message="view application edit form")
def edit_application(portfolio_id, application_id): def edit_application(portfolio_id, application_id):
portfolio = Portfolios.get_for_update(portfolio_id)
application = Applications.get(application_id) application = Applications.get(application_id)
form = ApplicationForm(name=application.name, description=application.description) form = ApplicationForm(name=application.name, description=application.description)
return render_template( return render_template(
"portfolios/applications/edit.html", "portfolios/applications/edit.html",
portfolio=portfolio,
application=application, application=application,
form=form, form=form,
environments_obj=get_environments_obj_for_app(application=application), environments_obj=get_environments_obj_for_app(application=application),
@ -88,7 +80,6 @@ def edit_application(portfolio_id, application_id):
) )
@user_can(Permissions.EDIT_APPLICATION, message="update application") @user_can(Permissions.EDIT_APPLICATION, message="update application")
def update_application(portfolio_id, application_id): def update_application(portfolio_id, application_id):
portfolio = Portfolios.get_for_update(portfolio_id)
application = Applications.get(application_id) application = Applications.get(application_id)
form = ApplicationForm(http_request.form) form = ApplicationForm(http_request.form)
if form.validate(): if form.validate():
@ -96,12 +87,11 @@ def update_application(portfolio_id, application_id):
Applications.update(application, application_data) Applications.update(application, application_data)
return redirect( return redirect(
url_for("portfolios.portfolio_applications", portfolio_id=portfolio.id) url_for("portfolios.portfolio_applications", portfolio_id=portfolio_id)
) )
else: else:
return render_template( return render_template(
"portfolios/applications/edit.html", "portfolios/applications/edit.html",
portfolio=portfolio,
application=application, application=application,
form=form, form=form,
environments_obj=get_environments_obj_for_app(application=application), environments_obj=get_environments_obj_for_app(application=application),

View File

@ -119,7 +119,7 @@ def edit_portfolio_members(portfolio_id):
return redirect( return redirect(
url_for( url_for(
"portfolios.portfolio_admin", "portfolios.portfolio_admin",
portfolio_id=portfolio.id, portfolio_id=portfolio_id,
fragment="portfolio-members", fragment="portfolio-members",
_anchor="portfolio-members", _anchor="portfolio-members",
) )

View File

@ -1,7 +1,6 @@
from flask import g, redirect, url_for, render_template from flask import g, redirect, url_for, render_template
from . import portfolios_bp from . import portfolios_bp
from atst.domain.portfolios import Portfolios
from atst.domain.invitations import Invitations from atst.domain.invitations import Invitations
from atst.queue import queue from atst.queue import queue
from atst.utils.flash import formatted_flash as flash from atst.utils.flash import formatted_flash as flash
@ -47,10 +46,9 @@ def accept_invitation(token):
) )
@user_can(Permissions.EDIT_PORTFOLIO_USERS, message="revoke invitation") @user_can(Permissions.EDIT_PORTFOLIO_USERS, message="revoke invitation")
def revoke_invitation(portfolio_id, token): def revoke_invitation(portfolio_id, token):
portfolio = Portfolios.get_for_update(portfolio_id)
Invitations.revoke(token) Invitations.revoke(token)
return redirect(url_for("portfolios.portfolio_members", portfolio_id=portfolio.id)) return redirect(url_for("portfolios.portfolio_members", portfolio_id=portfolio_id))
@portfolios_bp.route( @portfolios_bp.route(

View File

@ -41,7 +41,6 @@ def portfolio_members(portfolio_id):
return render_template( return render_template(
"portfolios/members/index.html", "portfolios/members/index.html",
portfolio=portfolio,
status_choices=MEMBER_STATUS_CHOICES, status_choices=MEMBER_STATUS_CHOICES,
members=members_list, members=members_list,
) )
@ -57,7 +56,6 @@ def application_members(portfolio_id, application_id):
return render_template( return render_template(
"portfolios/applications/members.html", "portfolios/applications/members.html",
portfolio=portfolio,
application=application, application=application,
members=members_list, members=members_list,
) )
@ -68,11 +66,8 @@ def application_members(portfolio_id, application_id):
Permissions.CREATE_PORTFOLIO_USERS, message="view create new portfolio member form" Permissions.CREATE_PORTFOLIO_USERS, message="view create new portfolio member form"
) )
def new_member(portfolio_id): def new_member(portfolio_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
form = member_forms.NewForm() form = member_forms.NewForm()
return render_template( return render_template("portfolios/members/new.html", form=form)
"portfolios/members/new.html", portfolio=portfolio, form=form
)
@portfolios_bp.route("/portfolios/<portfolio_id>/members/new", methods=["POST"]) @portfolios_bp.route("/portfolios/<portfolio_id>/members/new", methods=["POST"])
@ -94,7 +89,7 @@ def create_member(portfolio_id):
return redirect( return redirect(
url_for( url_for(
"portfolios.portfolio_admin", "portfolios.portfolio_admin",
portfolio_id=portfolio.id, portfolio_id=portfolio_id,
fragment="portfolio-members", fragment="portfolio-members",
_anchor="portfolio-members", _anchor="portfolio-members",
) )
@ -104,9 +99,7 @@ def create_member(portfolio_id):
"error.html", message="There was an error processing your request." "error.html", message="There was an error processing your request."
) )
else: else:
return render_template( return render_template("portfolios/members/new.html", form=form)
"portfolios/members/new.html", portfolio=portfolio, form=form
)
@portfolios_bp.route("/portfolios/<portfolio_id>/members/<member_id>/member_edit") @portfolios_bp.route("/portfolios/<portfolio_id>/members/<member_id>/member_edit")
@ -124,7 +117,6 @@ def view_member(portfolio_id, member_id):
return render_template( return render_template(
"portfolios/members/edit.html", "portfolios/members/edit.html",
portfolio=portfolio,
member=member, member=member,
applications=applications, applications=applications,
form=form, form=form,
@ -143,7 +135,6 @@ def view_member(portfolio_id, member_id):
) )
@user_can(Permissions.EDIT_PORTFOLIO_USERS, message="update portfolio member") @user_can(Permissions.EDIT_PORTFOLIO_USERS, message="update portfolio member")
def update_member(portfolio_id, member_id): def update_member(portfolio_id, member_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
member = PortfolioRoles.get(portfolio_id, member_id) member = PortfolioRoles.get(portfolio_id, member_id)
ids_and_roles = [] ids_and_roles = []
@ -162,15 +153,10 @@ def update_member(portfolio_id, member_id):
flash("environment_access_changed") flash("environment_access_changed")
return redirect( return redirect(
url_for("portfolios.portfolio_members", portfolio_id=portfolio.id) url_for("portfolios.portfolio_members", portfolio_id=portfolio_id)
) )
else: else:
return render_template( return render_template("portfolios/members/edit.html", form=form, member=member)
"portfolios/members/edit.html",
form=form,
portfolio=portfolio,
member=member,
)
@portfolios_bp.route( @portfolios_bp.route(

View File

@ -57,7 +57,6 @@ def portfolio_funding(portfolio_id):
return render_template( return render_template(
"portfolios/task_orders/index.html", "portfolios/task_orders/index.html",
portfolio=portfolio,
pending_task_orders=( pending_task_orders=(
task_orders_by_status.get(TaskOrderStatus.STARTED, []) task_orders_by_status.get(TaskOrderStatus.STARTED, [])
+ task_orders_by_status.get(TaskOrderStatus.PENDING, []) + task_orders_by_status.get(TaskOrderStatus.PENDING, [])
@ -71,7 +70,6 @@ def portfolio_funding(portfolio_id):
@portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>") @portfolios_bp.route("/portfolios/<portfolio_id>/task_order/<task_order_id>")
@user_can(Permissions.VIEW_TASK_ORDER_DETAILS, message="view task order details") @user_can(Permissions.VIEW_TASK_ORDER_DETAILS, message="view task order details")
def view_task_order(portfolio_id, task_order_id): def view_task_order(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(task_order_id) task_order = TaskOrders.get(task_order_id)
to_form_complete = TaskOrders.all_sections_complete(task_order) to_form_complete = TaskOrders.all_sections_complete(task_order)
dd_254_complete = DD254s.is_complete(task_order.dd_254) dd_254_complete = DD254s.is_complete(task_order.dd_254)
@ -82,7 +80,6 @@ def view_task_order(portfolio_id, task_order_id):
is_ko=Authorization.is_ko(g.current_user, task_order), is_ko=Authorization.is_ko(g.current_user, task_order),
is_so=Authorization.is_so(g.current_user, task_order), is_so=Authorization.is_so(g.current_user, task_order),
is_to_signed=TaskOrders.is_signed_by_ko(task_order), is_to_signed=TaskOrders.is_signed_by_ko(task_order),
portfolio=portfolio,
task_order=task_order, task_order=task_order,
to_form_complete=to_form_complete, to_form_complete=to_form_complete,
user=g.current_user, user=g.current_user,
@ -104,12 +101,10 @@ def wrap_check_is_ko_or_cor(user, task_order_id=None, **_kwargs):
) )
def ko_review(portfolio_id, task_order_id): def ko_review(portfolio_id, task_order_id):
task_order = TaskOrders.get(task_order_id) task_order = TaskOrders.get(task_order_id)
portfolio = Portfolios.get(g.current_user, portfolio_id)
if TaskOrders.all_sections_complete(task_order): if TaskOrders.all_sections_complete(task_order):
return render_template( return render_template(
"/portfolios/task_orders/review.html", "/portfolios/task_orders/review.html",
portfolio=portfolio,
task_order=task_order, task_order=task_order,
form=KOReviewForm(obj=task_order), form=KOReviewForm(obj=task_order),
) )
@ -172,8 +167,8 @@ def resend_invite(portfolio_id, task_order_id):
return redirect( return redirect(
url_for( url_for(
"portfolios.task_order_invitations", "portfolios.task_order_invitations",
portfolio_id=portfolio.id, portfolio_id=portfolio_id,
task_order_id=task_order.id, task_order_id=task_order_id,
) )
) )
@ -207,10 +202,7 @@ def submit_ko_review(portfolio_id, task_order_id, form=None):
) )
else: else:
return render_template( return render_template(
"/portfolios/task_orders/review.html", "/portfolios/task_orders/review.html", task_order=task_order, form=form
portfolio=Portfolios.get(g.current_user, portfolio_id),
task_order=task_order,
form=form,
) )
@ -221,14 +213,12 @@ def submit_ko_review(portfolio_id, task_order_id, form=None):
Permissions.EDIT_TASK_ORDER_DETAILS, message="view task order invitations page" Permissions.EDIT_TASK_ORDER_DETAILS, message="view task order invitations page"
) )
def task_order_invitations(portfolio_id, task_order_id): def task_order_invitations(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(task_order_id) task_order = TaskOrders.get(task_order_id)
form = EditTaskOrderOfficersForm(obj=task_order) form = EditTaskOrderOfficersForm(obj=task_order)
if TaskOrders.all_sections_complete(task_order): if TaskOrders.all_sections_complete(task_order):
return render_template( return render_template(
"portfolios/task_orders/invitations.html", "portfolios/task_orders/invitations.html",
portfolio=portfolio,
task_order=task_order, task_order=task_order,
form=form, form=form,
user=g.current_user, user=g.current_user,
@ -243,7 +233,6 @@ def task_order_invitations(portfolio_id, task_order_id):
) )
@user_can(Permissions.EDIT_TASK_ORDER_DETAILS, message="edit task order invitations") @user_can(Permissions.EDIT_TASK_ORDER_DETAILS, message="edit task order invitations")
def edit_task_order_invitations(portfolio_id, task_order_id): def edit_task_order_invitations(portfolio_id, task_order_id):
portfolio = Portfolios.get(g.current_user, portfolio_id)
task_order = TaskOrders.get(task_order_id) task_order = TaskOrders.get(task_order_id)
form = EditTaskOrderOfficersForm(formdata=http_request.form, obj=task_order) form = EditTaskOrderOfficersForm(formdata=http_request.form, obj=task_order)
@ -256,7 +245,7 @@ def edit_task_order_invitations(portfolio_id, task_order_id):
return redirect( return redirect(
url_for( url_for(
"portfolios.task_order_invitations", "portfolios.task_order_invitations",
portfolio_id=portfolio.id, portfolio_id=portfolio_id,
task_order_id=task_order.id, task_order_id=task_order.id,
) )
) )
@ -264,7 +253,6 @@ def edit_task_order_invitations(portfolio_id, task_order_id):
return ( return (
render_template( render_template(
"portfolios/task_orders/invitations.html", "portfolios/task_orders/invitations.html",
portfolio=portfolio,
task_order=task_order, task_order=task_order,
form=form, form=form,
), ),
@ -303,10 +291,7 @@ def so_review(portfolio_id, task_order_id):
form = so_review_form(task_order) form = so_review_form(task_order)
return render_template( return render_template(
"portfolios/task_orders/so_review.html", "portfolios/task_orders/so_review.html", form=form, task_order=task_order
form=form,
portfolio=task_order.portfolio,
task_order=task_order,
) )
@ -332,8 +317,5 @@ def submit_so_review(portfolio_id, task_order_id):
) )
else: else:
return render_template( return render_template(
"portfolios/task_orders/so_review.html", "portfolios/task_orders/so_review.html", form=form, task_order=task_order
form=form,
portfolio=task_order.portfolio,
task_order=task_order,
) )