Merge pull request #569 from dod-ccpo/ko-redirect

KO redirect
This commit is contained in:
dandds 2019-01-23 11:24:44 -05:00 committed by GitHub
commit e16f12be80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 15 deletions

View File

@ -28,7 +28,11 @@ def accept_invitation(token):
for task_order in invite.portfolio.task_orders: for task_order in invite.portfolio.task_orders:
if g.current_user == task_order.contracting_officer: if g.current_user == task_order.contracting_officer:
return redirect( return redirect(
url_for("task_orders.new", screen=4, task_order_id=task_order.id) url_for(
"portfolios.view_task_order",
portfolio_id=task_order.portfolio_id,
task_order_id=task_order.id,
)
) )
elif g.current_user == task_order.contracting_officer_representative: elif g.current_user == task_order.contracting_officer_representative:
return redirect( return redirect(

View File

@ -120,8 +120,19 @@
width: 100%; width: 100%;
} }
.task-order-next-steps__panel-head {
border-bottom: 1px solid black;
padding: ($gap * 4) ($gap * 2);
margin: 0;
}
.task-order-next-steps__step { .task-order-next-steps__step {
border-bottom: 1px dotted $color-gray;
padding: ($gap * 4) ($gap * 2);
margin: 0;
.task-order-next-steps__icon { .task-order-next-steps__icon {
width: 8%;
padding: $gap $gap 0 0; padding: $gap $gap 0 0;
justify-content: center; justify-content: center;
.complete { .complete {
@ -133,11 +144,20 @@
} }
.task-order-next-steps__text { .task-order-next-steps__text {
width: 60%;
@include ie-only { @include ie-only {
width: 100% width: 100%
} }
} }
.task-order-next-steps__action {
padding: $gap 0 0 $gap;
width: 32%;
a.usa-button {
width: 100%;
}
}
.task-order-next-steps__heading { .task-order-next-steps__heading {
h4 { h4 {
margin: $gap $gap 0 0; margin: $gap $gap 0 0;

View File

@ -4,25 +4,22 @@
{% block portfolio_content %} {% block portfolio_content %}
{% macro Step(title="", description="", link_text=None, link_url=None, complete=True) %} {% macro Step(title="", description="", link_text=None, complete=True) %}
<div class="task-order-next-steps__step panel__content row"> <div class="task-order-next-steps__step panel__content row">
<div class="task-order-next-steps__icon col"> <div class="task-order-next-steps__icon col">
<span>{{ Icon("ok", classes="complete" if complete else "incomplete") }}</span> <span>{{ Icon("ok", classes="complete" if complete else "incomplete") }}</span>
</div> </div>
<div class="task-order-next-steps__text"> <div class="task-order-next-steps__text col">
<div class="task-order-next-steps__heading row"> <div class="task-order-next-steps__heading row">
<h4>{{ title }}</h4> <h4>{{ title }}</h4>
{% if link_url %}
<a href="{{ link_url }}" class="icon-link">
{{ Icon("edit") }}
<span>{{ link_text }}</span>
</a>
{% endif %}
</div> </div>
<div class="task-order-next-steps__description"> <div class="task-order-next-steps__description">
{{ description }} {{ description }}
</div> </div>
</div> </div>
{% if caller %}
{{ caller() }}
{% endif %}
</div> </div>
{% endmacro %} {% endmacro %}
@ -88,13 +85,20 @@
<div class="task-order-details"> <div class="task-order-details">
<div id="next-steps" class="task-order-next-steps"> <div id="next-steps" class="task-order-next-steps">
<div class="panel"> <div class="panel">
<h3 class="panel__content">What's next?</h3> <h3 class="task-order-next-steps__panel-head panel__content">What's next?</h3>
{{ Step( {% call Step(
title="Submit draft Task Order", title="Submit draft Task Order",
description="Complete initial task order request form.", description="Complete initial task order request form.",
link_text="edit", link_text="edit",
link_url=url_for("task_orders.new", screen=1, task_order_id=task_order.id), complete=True) %}
complete=True) }} <div class="task-order-next-steps__action col">
<a
href="{{ url_for("task_orders.new", screen=1, task_order_id=task_order.id) }}"
class="usa-button usa-button-primary">
Edit
</a>
</div>
{% endcall %}
{{ Step( {{ Step(
title="Complete a Security Requirements Document", title="Complete a Security Requirements Document",
description="The IA Security Official you specified received an email invitation to complete and sign a DD-254: Security Requirements document that's been customized for the JEDI program here.", description="The IA Security Official you specified received an email invitation to complete and sign a DD-254: Security Requirements document that's been customized for the JEDI program here.",

View File

@ -210,7 +210,7 @@ def test_existing_member_invite_resent_to_email_submitted_in_form(
assert send_mail_job.args[0] == ["example@example.com"] assert send_mail_job.args[0] == ["example@example.com"]
def test_task_order_officer_accepts_invite(monkeypatch, client, user_session): def test_contracting_officer_accepts_invite(monkeypatch, client, user_session):
portfolio = PortfolioFactory.create() portfolio = PortfolioFactory.create()
task_order = TaskOrderFactory.create(portfolio=portfolio) task_order = TaskOrderFactory.create(portfolio=portfolio)
user_info = UserFactory.dictionary() user_info = UserFactory.dictionary()
@ -246,6 +246,9 @@ def test_task_order_officer_accepts_invite(monkeypatch, client, user_session):
# user is redirected to the task order review page # user is redirected to the task order review page
assert response.status_code == 302 assert response.status_code == 302
to_review_url = url_for( to_review_url = url_for(
"task_orders.new", screen=4, task_order_id=task_order.id, _external=True "portfolios.view_task_order",
portfolio_id=task_order.portfolio_id,
task_order_id=task_order.id,
_external=True,
) )
assert response.headers["Location"] == to_review_url assert response.headers["Location"] == to_review_url