MO and COR redirect to build pages
This commit is contained in:
parent
4d2b15a4f5
commit
110dfdb4b1
@ -68,6 +68,7 @@ def view_task_order(portfolio_id, task_order_id):
|
|||||||
portfolio=portfolio,
|
portfolio=portfolio,
|
||||||
task_order=task_order,
|
task_order=task_order,
|
||||||
all_sections_complete=completed,
|
all_sections_complete=completed,
|
||||||
|
user=g.current_user,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -75,6 +76,7 @@ def view_task_order(portfolio_id, task_order_id):
|
|||||||
def ko_review(portfolio_id, task_order_id):
|
def ko_review(portfolio_id, task_order_id):
|
||||||
task_order = TaskOrders.get(g.current_user, task_order_id)
|
task_order = TaskOrders.get(g.current_user, task_order_id)
|
||||||
portfolio = Portfolios.get(g.current_user, portfolio_id)
|
portfolio = Portfolios.get(g.current_user, portfolio_id)
|
||||||
|
|
||||||
Authorization.check_is_ko(g.current_user, task_order)
|
Authorization.check_is_ko(g.current_user, task_order)
|
||||||
return render_template(
|
return render_template(
|
||||||
"/portfolios/task_orders/review.html",
|
"/portfolios/task_orders/review.html",
|
||||||
@ -89,9 +91,10 @@ def ko_review(portfolio_id, task_order_id):
|
|||||||
)
|
)
|
||||||
def submit_ko_review(portfolio_id, task_order_id, form=None):
|
def submit_ko_review(portfolio_id, task_order_id, form=None):
|
||||||
task_order = TaskOrders.get(g.current_user, task_order_id)
|
task_order = TaskOrders.get(g.current_user, task_order_id)
|
||||||
Authorization.check_is_ko(g.current_user, task_order)
|
form_data = {**http_request.form, **http_request.files}
|
||||||
form = KOReviewForm(http_request.form)
|
form = KOReviewForm(form_data)
|
||||||
|
|
||||||
|
Authorization.check_is_ko(g.current_user, task_order)
|
||||||
if form.validate():
|
if form.validate():
|
||||||
TaskOrders.update(user=g.current_user, task_order=task_order, **form.data)
|
TaskOrders.update(user=g.current_user, task_order=task_order, **form.data)
|
||||||
return redirect(
|
return redirect(
|
||||||
|
@ -92,8 +92,17 @@
|
|||||||
link_text="edit",
|
link_text="edit",
|
||||||
complete=all_sections_complete) %}
|
complete=all_sections_complete) %}
|
||||||
<div class="task-order-next-steps__action col">
|
<div class="task-order-next-steps__action col">
|
||||||
|
{% if user == task_order.contracting_officer %}
|
||||||
|
{% set url=url_for("portfolios.ko_review", portfolio_id=portfolio.id, task_order_id=task_order.id) %}
|
||||||
|
{% elif user == task_order.creator or user == task_order.contracting_officer_representative %}
|
||||||
|
{% set url = url_for("task_orders.new", screen=1, task_order_id=task_order.id) %}
|
||||||
|
{% else %}
|
||||||
|
{% set url = url_for("portfolios.ko_review", portfolio_id=portfolio.id, task_order_id=task_order.id) %}
|
||||||
|
{% endif %}
|
||||||
|
<p>creator: {{task_order.creator.full_name}}</p>
|
||||||
|
<p>cor: {{task_order.contracting_officer_representative.full_name}}</p>
|
||||||
<a
|
<a
|
||||||
href="{{ url_for("portfolios.ko_review", portfolio_id=portfolio.id, task_order_id=task_order.id) }}"
|
href="{{ url }}"
|
||||||
class="usa-button usa-button-primary">
|
class="usa-button usa-button-primary">
|
||||||
Edit
|
Edit
|
||||||
</a>
|
</a>
|
||||||
|
@ -172,3 +172,33 @@ def test_ko_can_view_ko_review_page(client, user_session):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
def test_mo_redirected_to_build_page(client, user_session):
|
||||||
|
portfolio = PortfolioFactory.create()
|
||||||
|
user_session(portfolio.owner)
|
||||||
|
task_order = TaskOrderFactory.create(portfolio=portfolio)
|
||||||
|
|
||||||
|
response = client.get(
|
||||||
|
url_for("task_orders.new", screen=1, task_order_id=task_order.id)
|
||||||
|
)
|
||||||
|
assert response.status_code == 200
|
||||||
|
|
||||||
|
|
||||||
|
def test_cor_redirected_to_build_page(client, user_session):
|
||||||
|
portfolio = PortfolioFactory.create()
|
||||||
|
cor = UserFactory.create()
|
||||||
|
PortfolioRoleFactory.create(
|
||||||
|
role=Roles.get("officer"),
|
||||||
|
portfolio=portfolio,
|
||||||
|
user=cor,
|
||||||
|
status=PortfolioStatus.ACTIVE,
|
||||||
|
)
|
||||||
|
task_order = TaskOrderFactory.create(
|
||||||
|
portfolio=portfolio, contracting_officer_representative=cor
|
||||||
|
)
|
||||||
|
user_session(cor)
|
||||||
|
response = client.get(
|
||||||
|
url_for("task_orders.new", screen=1, task_order_id=task_order.id)
|
||||||
|
)
|
||||||
|
assert response.status_code == 200
|
||||||
|
Loading…
x
Reference in New Issue
Block a user